void OnTaskFinished(SingleGameLogic logic) { this.logic = logic; task = null; startButton.Activate(); loading.Stop(); state = SceneState.Ready; OnAppearanceChanged(); }
protected override void BeforeShow() { base.BeforeShow(); easyButton.Activate(); normalButton.Activate(); hardButton.Activate(); backButton.Activate(); loading.Start(); state = SceneState.Processing; task = new GenerateSingleGameLogicTask(OnTaskFinished); task.Execute(); }
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; } }