public void SetCurrentPlayersTurn(FishBucket.FishBucketPlayerData playerData, bool isLocalPlayer) { if (currentPlayerHud != null) { currentPlayerHud.SetHighlighted(highlighted: false); } if (currentPlayerId != 0) { dispatcher.DispatchEvent(new PlayerIndicatorEvents.RemovePlayerIndicator(currentPlayerId, isStored: false, destroy: false)); } currentPlayerId = playerData.PlayerId; currentPlayerHud = playerHuds[playerData.PlayerId]; currentPlayerHud.SetHighlighted(highlighted: true); string text = ""; text = ((!isLocalPlayer) ? string.Format(localizer.GetTokenTranslation("Activity.FishCatch.OthersTurn"), playerData.DisplayName) : localizer.GetTokenTranslation("Activity.FishCatch.TurnInstruction")); HeaderText.text = text; if (turnIndicator == null) { createTurnIndicator(); } dispatcher.DispatchEvent(new PlayerIndicatorEvents.ShowPlayerIndicator(turnIndicator.gameObject, currentPlayerId)); turnIndicatorAnimator.SetTrigger(ANIMATOR_HASH_TURN_INDICATOR_OPEN); turnIndicator.StartCountdown(fishBucketDefinition.TurnTimeInSeconds); }
private void SetState(DanceBattleQuestGameState newState) { Screens[(int)currentState].SetActive(value: false); Screens[(int)newState].SetActive(value: true); currentState = newState; switch (newState) { case DanceBattleQuestGameState.ShowingMoves: startTurnSequence(); changeCameraController(getScreenCamera(), getScreenCameraTarget(), hideControls: true); break; case DanceBattleQuestGameState.InputtingMoves: { destroyMoveIcons(); inputMovesList.Clear(); InputMovesTimer.StartCountdown(InputTime); int currentMoveCount = getCurrentMoveCount(); for (int i = 0; i < currentMoveCount; i++) { DanceBattleMoveIcon component = UnityEngine.Object.Instantiate(moveIconPrefab, MoveIconInputContainer.transform, worldPositionStays: false).GetComponent <DanceBattleMoveIcon>(); component.SetState(DanceBattleMoveIcon.MoveIconState.BlankRed); moveIconList.Add(component); } CoroutineRunner.Start(setStateAfterDelay(InputTime, DanceBattleQuestGameState.Results), this, ""); changeCameraController(getDanceCamera(), getDanceCameraTarget(), hideControls: false); break; } case DanceBattleQuestGameState.Results: InputMovesTimer.StopCountdown(); CoroutineRunner.Start(showRoundResults(), this, ""); changeCameraController(getDanceCamera(), getDanceCameraTarget(), hideControls: true); break; } }
public void StartTimer(float time) { TokenSpriteSelector.gameObject.SetActive(value: false); TimerObject.SetActive(value: true); Timer.StartCountdown(time); }
private void setState(DanceBattleVisualsState newState) { Screens[(int)currentState].SetActive(value: false); if (newState == DanceBattleVisualsState.Off || newState == DanceBattleVisualsState.Lobby || localPlayerIsInGame) { Screens[(int)newState].SetActive(value: true); RemotePenguinScreen.SetActive(value: false); } else { RemotePenguinScreen.SetActive(value: true); } switch (newState) { case DanceBattleVisualsState.Off: startTimerForNextLobbyStart(); break; case DanceBattleVisualsState.Game: RedScoreBar.StopBounceAnim(); BlueScoreBar.StopBounceAnim(); MoveIconContainer.SetActive(value: true); setChatVisible(visible: false); if (isFirstTurn) { CoroutineRunner.Start(playDanceMusicAfterDelay(DanceMusicStartDelay), this, ""); isFirstTurn = false; } CoroutineRunner.Start(switchStateAfterDelay(currentSequenceSet.SequenceDisplayTimeInSeconds, DanceBattleVisualsState.TurnTimer), this, "DanceBattleTimerWait"); break; case DanceBattleVisualsState.TurnTimer: { destroyMoveIcons(); MoveIconInputContainer.SetActive(value: true); for (int i = 0; i < currentSequenceSet.SequenceLength; i++) { DanceBattleMoveIcon component = UnityEngine.Object.Instantiate(moveIconPrefab, MoveIconInputContainer.transform, worldPositionStays: false).GetComponent <DanceBattleMoveIcon>(); component.SetState((localPlayerTeamId != 1) ? DanceBattleMoveIcon.MoveIconState.BlankBlue : DanceBattleMoveIcon.MoveIconState.BlankRed); moveIconList.Add(component); } dispatcher.DispatchEvent(new DanceBattleEvents.SequenceDisplayEnd(this)); TurnTimer.StartCountdown(currentSequenceSet.TurnTimeInSeconds); CoroutineRunner.Start(switchStateAfterDelay(currentSequenceSet.TurnTimeInSeconds, DanceBattleVisualsState.PerformingMoves), this, "DanceBattleResultsWait"); break; } case DanceBattleVisualsState.PerformingMoves: { destroyMoveIcons(); setChatVisible(visible: true); StageAnimator.SetTrigger("StrobesHigh"); string parameter = $"High{currentTurnData.RoundNum}"; EventManager.Instance.PostEvent("MUS/Town/DJCadence/DanceGame", EventAction.SetSwitch, parameter, musicTargetObject); dispatcher.DispatchEvent(default(DanceBattleEvents.TurnTimerComplete)); break; } case DanceBattleVisualsState.RoundResults: { StageAnimator.SetTrigger("StrobesLow"); string trigger = "ResultLow"; if (lastScoreBlueDelta > lastScoreRedDelta) { trigger = "ResultPerfectBlue"; } else if (lastScoreBlueDelta < lastScoreRedDelta) { trigger = "ResultPerfectRed"; } else if (lastScoreRedDelta > 0.5f) { trigger = "ResultMed"; } StageAnimator.SetTrigger(trigger); if (currentTurnData.RoundNum == danceBattleDefinition.NumberOfRounds - 1) { CoroutineRunner.Start(switchStateAfterDelay(danceBattleDefinition.TurnStartDelayInSeconds, DanceBattleVisualsState.FinalResults), this, "DanceBattleResultsWait"); } EventManager.Instance.PostEvent("MUS/Town/DJCadence/DanceGame", EventAction.SetSwitch, "Low", musicTargetObject); break; } case DanceBattleVisualsState.FinalResults: if (currentScoreData != null) { int num = ((!(currentScoreData.Team1Score > currentScoreData.Team2Score)) ? 1 : 0); bool flag = currentScoreData.Team1Score == currentScoreData.Team2Score; if (flag) { StageAnimator.SetTrigger("WinTie"); WinnerText.text = localizer.GetTokenTranslation("PartyGames.FindFour.Draw"); WinnerBG.SelectColor(2); FloorController.SetFloorHighlight(redHighlightOn: true, blueHighlightOn: true); FloorController.SetFloorAnim(redAnimOn: true, blueAnimOn: true); } else if (num == 0) { StageAnimator.SetTrigger("WinBlue"); WinnerText.text = localizer.GetTokenTranslation("Activity.DanceBattle.TeamBlueWin"); WinnerBG.SelectColor(0); FloorController.SetFloorHighlight(redHighlightOn: false, blueHighlightOn: true); FloorController.SetFloorAnim(redAnimOn: false, blueAnimOn: true); } else { StageAnimator.SetTrigger("WinRed"); WinnerText.text = localizer.GetTokenTranslation("Activity.DanceBattle.TeamRedWin"); WinnerBG.SelectColor(1); FloorController.SetFloorHighlight(redHighlightOn: true, blueHighlightOn: false); FloorController.SetFloorAnim(redAnimOn: true, blueAnimOn: false); } if (flag || localPlayerTeamId == num) { EventManager.Instance.PostEvent("MUS/Town/DJCadence/DanceGame", EventAction.SetSwitch, "Win", musicTargetObject); } else { EventManager.Instance.PostEvent("MUS/Town/DJCadence/DanceGame", EventAction.SetSwitch, "Lose", musicTargetObject); } dispatcher.DispatchEvent(new DanceBattleEvents.FinalResultsShown(flag, num)); if (EndGameParticleSelector != null) { EndGameParticleSelector.SelectGameObject(num); } } break; } currentState = newState; }