public void StateTransitionRule_WhenInvalid_ReturnsFalse() { // ARRANGE GameStateTransition nullToIntro = new GameStateTransition(GameState.NullState, GameState.Intro); GameStateTransition introToMainMenu = new GameStateTransition(GameState.Intro, GameState.MainMenu); GameStateTransition mainMenuToNewGame = new GameStateTransition(GameState.MainMenu, GameState.NewGame); GameStateTransition actualTransition = new GameStateTransition(GameState.NullState, GameState.MainMenu); // ACT var transitionNullToIntro = new StateTransitionRule(nullToIntro); var transitionIntroToMainMenu = new StateTransitionRule(introToMainMenu); var transitionMainMenuToNewGame = new StateTransitionRule(mainMenuToNewGame); // Create the rule engine and add the rules var stateTransitionRuleEngine = new RuleEngine <GameStateTransition>(); stateTransitionRuleEngine.ActualValue = actualTransition; stateTransitionRuleEngine.Add(transitionNullToIntro); stateTransitionRuleEngine.Add(transitionIntroToMainMenu); stateTransitionRuleEngine.Add(transitionMainMenuToNewGame); // Get the result var result = stateTransitionRuleEngine.MatchAny(); // ASSERT Assert.IsFalse(result); }
public void StateTransitionRule_WhenValid_ReturnsTrue() { // ARRANGE GameStateTransition nullToIntro = new GameStateTransition(GameState.NullState, GameState.Intro); GameStateTransition introToMainMenu = new GameStateTransition(GameState.Intro, GameState.MainMenu); GameStateTransition mainMenuToNewGame = new GameStateTransition(GameState.MainMenu, GameState.NewGame); GameStateTransition actualTransition = new GameStateTransition(GameState.Intro, GameState.MainMenu); // ACT var transitionNullToIntro = new StateTransitionRule(nullToIntro); var transitionIntroToMainMenu = new StateTransitionRule(introToMainMenu); var transitionMainMenuToNewGame = new StateTransitionRule(mainMenuToNewGame); // Create the rule engine and add the rules var stateTransitionRuleEngine = new RuleEngine<GameStateTransition>(); stateTransitionRuleEngine.ActualValue = actualTransition; stateTransitionRuleEngine.Add(transitionNullToIntro); stateTransitionRuleEngine.Add(transitionIntroToMainMenu); stateTransitionRuleEngine.Add(transitionMainMenuToNewGame); // Get the result var result = stateTransitionRuleEngine.MatchAny(); // ASSERT Assert.IsTrue(result); }
private void OnIntroBegan(GameStateTransition state) { // Get Component var text = GetComponentInChildren <Text>(); var textRect = text.GetComponent <RectTransform>(); // Animation sequence Sequence sequence = DOTween.Sequence(); sequence.Append(textRect.DOLocalMoveX(800, 0)); sequence.Append(textRect.DOLocalMoveX(0, 0.4f)); sequence.Append(textRect.DOLocalMoveX(0, 1)); sequence.Append(textRect.DOLocalMoveX(-800, 0.4f)); sequence.AppendCallback(state.Finish); sequence.SetUpdate(UpdateType.Normal, true); }
private void OnRoundIntro(GameStateTransition obj) { GameObject sfx = PrefabFactory.Pop("sfxstartup"); this.DelayAction(4f, () => PrefabFactory.Push("sfxstartup", sfx)); }
private void OnPauseExit(GameStateTransition obj) => canvas.DOFade(0, 0.4f).SetUpdate(UpdateType.Normal, true).OnComplete(() => { gameObject.SetActive(false); obj.ExitFinish(); });
private void OnPauseEnter(GameStateTransition obj) { state = obj; gameObject.SetActive(true); canvas.DOFade(1, 0.4f).SetUpdate(UpdateType.Normal, true).OnComplete(obj.EnterFinish); }
private void OnResultEnter(GameStateTransition obj) { state = obj; gameObject.SetActive(true); canvas.DOFade(1, 1f).SetDelay(0.5f).SetUpdate(UpdateType.Normal, true).OnComplete(obj.EnterFinish); }