/// <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;
        }
Beispiel #4
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="input"></param>
 public NetworkPauseState(IPlayInputReader input)
 {
     this.input = input;
 }
Beispiel #5
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="input"></param>
 public ServerPauseState(IPlayInputReader input)
 {
     this.input = input;
 }
Beispiel #6
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="input"></param>
 public AlonePauseState(IPlayInputReader input)
 {
     this.input = input;
 }