@@ -34,6 +34,24 @@ public override async Task OnActivateAsync()
3434 _gameTick = RegisterTimer ( OnGameTick , null , TimeSpan . Zero , TimeSpan . FromMilliseconds ( 50 ) ) ;
3535 }
3636
37+ public Task < IEnumerable < IUser > > GetUsers ( )
38+ {
39+ return Task . FromResult ( ( IEnumerable < IUser > ) _users . Keys ) ;
40+ }
41+
42+ public async Task < IUser > FindUserByName ( string name )
43+ {
44+ foreach ( var user in _users )
45+ {
46+ if ( await user . Key . GetName ( ) == name )
47+ {
48+ return user . Key ;
49+ }
50+ }
51+
52+ return null ;
53+ }
54+
3755 public async Task JoinGame ( IUser user )
3856 {
3957 var sink = await user . GetClientPacketSink ( ) ;
@@ -97,8 +115,8 @@ public async Task SendChatMessage(IUser sender, IUser receiver, string message)
97115 var senderName = await sender . GetName ( ) ;
98116 var receiverName = await receiver . GetName ( ) ;
99117
100- Chat jsonData = await CreateStandardChatMessage ( senderName , message ) ;
101- byte position = 0 ; // It represents user message in chat box
118+ var jsonData = await CreateStandardChatMessage ( senderName , message ) ;
119+ const byte position = 0 ; // It represents user message in chat box
102120 foreach ( var item in _users . Keys )
103121 {
104122 if ( await item . GetName ( ) == receiverName ||
@@ -123,20 +141,23 @@ await Task.WhenAll(from u in _tickables
123141
124142 private Task < Chat > CreateStandardChatMessage ( string name , string message )
125143 {
126- StringComponent nameComponent = new StringComponent ( name ) ;
127- nameComponent . ClickEvent = new ChatClickEvent ( ClickEventType . SuggestCommand , "/msg " + name ) ;
128- nameComponent . HoverEvent = new ChatHoverEvent ( HoverEventType . ShowEntity , name ) ;
129- nameComponent . Insertion = name ;
144+ var nameComponent = new StringComponent ( name )
145+ {
146+ ClickEvent = new ChatClickEvent ( ClickEventType . SuggestCommand , "/msg " + name ) ,
147+ HoverEvent = new ChatHoverEvent ( HoverEventType . ShowEntity , name ) ,
148+ Insertion = name
149+ } ;
130150
131151 // construct message
132- StringComponent messageComponent = new StringComponent ( message ) ;
152+ var messageComponent = new StringComponent ( message ) ;
133153
134154 // list
135- List < ChatComponent > list = new List < ChatComponent > ( ) ;
136- list . Add ( nameComponent ) ;
137- list . Add ( messageComponent ) ;
155+ var list = new List < ChatComponent >
156+ {
157+ nameComponent , messageComponent
158+ } ;
138159
139- Chat jsonData = new Chat ( new TranslationComponent ( "chat.type.text" , list ) ) ;
160+ var jsonData = new Chat ( new TranslationComponent ( "chat.type.text" , list ) ) ;
140161 return Task . FromResult ( jsonData ) ;
141162 }
142163
0 commit comments