/// <summary> /// コンストラクタ /// </summary> /// <param name="mineId"></param> /// <param name="enemyId"></param> /// <param name="hub"></param> /// <param name="reader"></param> public LoopData(string mineId, string enemyId, MainGameHubServerImpl hub, IPlayInputReader reader) { MineId = mineId; EnemyId = enemyId; HubImpl = hub; Input = reader; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="_render"></param> /// <param name="_info"></param> public IMainGameLogicState(LogicInfo ctrlInfo) { input = ctrlInfo.input; threadLockObj = ctrlInfo.threadLockObj; lock (threadLockObj) { // boardInfoはマルチスレッドで非同期にアクセスするので内部のnew割り当てはlockする必要がある boardInfo = new BoardInfo(); scoreInfo = new ScoreInfo(); } }
/// <summary> /// Game Start /// </summary> public void GameStart(IPlayInputReader inputReader) { IMainGameLogicState.LogicInfo info; info.input = inputReader; info.threadLockObj = this; AlonePlayingState.AloneInfo ctrl; ctrl.viewer = viewer; IMainGameLogicState playing = new AlonePlayingState(info, ctrl); AlonePlayStartState start = new AlonePlayStartState(playing); stateCtrl.ReserveAddState(start); IsAlreadyStart = true; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="input"></param> public NetworkPauseState(IPlayInputReader input) { this.input = input; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="input"></param> public ServerPauseState(IPlayInputReader input) { this.input = input; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="input"></param> public AlonePauseState(IPlayInputReader input) { this.input = input; }