public void InitGame(SingleGameLogic logic) { this.logic = logic; field = new GameField(logic.fieldData, pivot, 0, 230 * GameView.scaleFactor); logic.BotMoved += (segID) => field.OnCompetitorsMove(segID); logic.StatusChanged += OnGameStatusChanged; field.PlayerMoved += (segID) => logic.OnPlayersMove(segID); }
void OnTaskFinished(SingleGameLogic logic) { this.logic = logic; task = null; startButton.Activate(); loading.Stop(); state = SceneState.Ready; OnAppearanceChanged(); }
protected override void BeforeHide() { base.BeforeHide(); easyButton.Deactivate(); normalButton.Deactivate(); hardButton.Deactivate(); backButton.Deactivate(); if (state == SceneState.Processing) { loading.Stop(); task.Cancel(true); task = null; state = SceneState.Empty; } else { startButton.Deactivate(); logic = null; } }
protected override void AfterHide() { base.AfterHide(); logic = null; field = null; }