public INetworkLayerState <TWorld> GetNeworkLayerState(byte identifier) { if (!InternalGameStates.ContainsKey(identifier)) { throw new NotImplementedException(); } return(InternalGameStates[identifier]); }
private void LoadDefaultGameStates() { InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.Initial, new InitialNetworkGameState <TWorld>(new NetworkCommandToInitialGameState(WorldGameStateDataLayer, SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.Login, new LoginNetworkGameState <TWorld>(new NetworkCommandToUserDataGameState(LoginService, SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.LoginSuccessful, new LoginSuccessfulToUpdateGameState <TWorld>(new NetworkCommandToUserDataGameState(LoginService, SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.CLI, new CLIGameState <TWorld>(new NetworkCommandToUserDataWithLoginToken(LoginService, RoleService, SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.CLIPassthrough, new CLIPassthroughGameState <TWorld>()); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.Update, new UpdateNetworkGameState <TWorld>(new NetworkCommandToUpdateGameState(WorldGameStateDataLayer, SerializationAdapter), SerializationAdapter)); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.Undefined, new ErrorNetworkGameState <TWorld>()); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.ReceiveWork, new ReceiveWorkNetworkGameState <TWorld>(new NetworkCommandDataConverterService(SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.UserRoleGateWay, new UserRoleGateWayNetworkGameState <TWorld>(RoleService, new NetworkCommandDataConverterService(SerializationAdapter))); InternalGameStates.GetOrAdd((byte)ServerInternalGameStates.Error, new ErrorNetworkGameState <TWorld>()); }