// Construction public CJoinChatChannelResponseServerMessage( EMessageRequestID request_id, EChannelJoinError error ) : base(request_id) { Error = error; }
private void Handle_Join_Channel_Error( EChannelJoinError error ) { switch ( error ) { case EChannelJoinError.AlreadyJoined: CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Join_Error_Already_In_Channel ); break; case EChannelJoinError.Banned: CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Join_Error_Banned ); break; case EChannelJoinError.ChannelDoesNotExist: CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Join_Error_Channel_Does_Not_Exist ); break; case EChannelJoinError.ChannelFull: CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Join_Error_Channel_Full ); break; case EChannelJoinError.NoPermission: CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Join_Error_No_Permission ); break; } }
public void On_Join_General_Channel_Response( EChannelJoinError error, EMessageRequestID client_request_id ) { if ( error != EChannelJoinError.None && error != EChannelJoinError.AlreadyJoined ) { CServerMessageRouter.Send_Message_To_Session( new CConnectionDroppedMessage( EConnectRefusalReason.Unable_To_Join_Required_Chat_Channel ), SessionID ); CServerLogicalThread.Instance.Add_Network_Operation( new CDisconnectRequestOperation( SessionID, EDisconnectReason.Server_Request ) ); } else { if ( ConnectionState == EConnectedPlayerConnectionState.Connecting ) { // send client hello and set state to connected ConnectionState = EConnectedPlayerConnectionState.Connected; CServerMessageRouter.Send_Message_To_Session( new CClientHelloResponse( client_request_id, CDatabaseProxy.Instance.Get_Player_Data( PersistenceID ) ), SessionID ); } State = EConnectedPlayerState.Chat_Idle; } }