protected override void RemoveManagers() { MatchStateManager = null; HandManager = null; CharacterManager = null; MatchViewManager = null; }
private void HandlePlayerRespawnEvent(ZMPlayerControllerEventArgs args) { if (!MatchStateManager.IsEnd()) { _crowns[args.controller.PlayerInfo.ID].SetActive(true); } }
protected override void AddManagers() { CharacterManager = new MatchCharacterManager(); MatchStateManager = new MatchStateManager(); PlayerControlStateManager = new PlayerControlStateManager(); HandManager = new MatchHandManager(); MatchViewManager = new MatchViewManager(); }
private void HandleDeactivateEvent(MonoBehaviourEventArgs args) { if (MatchStateManager.IsMain()) { int index = Random.Range(0, zenPop.Length - 1); _audio.PlayOneShot(zenPop[index]); } }
protected void ResumeGame() { if (IsAbleToPause()) { ClearInputEvents(); ToggleActive(false); MatchStateManager.ResumeMatch(); } }
protected void PauseGame() { if (IsAbleToPause()) { var infoArgs = new ZMPlayerInfoEventArgs(_playerInfo); AcceptInputEvents(); ShowMenu(); Notifier.SendEventNotification(OnPlayerPauseGame, infoArgs); MatchStateManager.PauseMatch(); } }
protected override void HandleMenuSelection() { base.HandleMenuSelection(); if (_selectedIndex == 0) { MatchStateManager.ResetMatch(); } else if (_selectedIndex == 1) { MatchStateManager.ExitMatch(); } }
void Update() { if (Input.GetKeyDown(KeyCode.Alpha1)) { Notifier.SendEventNotification(OnSkipIntro); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { MatchStateManager.EndMatch(); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { ZMAudioManager.Instance.PlayOneShot("sword_1"); } }
private void Reset() { _controlModState = ControlModState.NEUTRAL; _controlMoveState = ControlMoveState.NEUTRAL; runSpeed = 0.0f; _spriteRenderer.enabled = true; _light.enabled = true; EnablePlayer(); SetMovementDirection(transform.position.x < 0 ? MovementDirectionState.FACING_LEFT : MovementDirectionState.FACING_RIGHT); if (!MatchStateManager.IsPause() && !MatchStateManager.IsEnd()) { AcceptInputEvents(); } }
protected override void HandleMenuSelection() { base.HandleMenuSelection(); if (_selectedIndex == RESUME_OPTION) { ResumeGame(); } else if (_selectedIndex == DROP_OPTION) { ZMLobbyController.Instance.PlayerDidDropOut(_playerInfo); ResumeGame(); } else if (_selectedIndex == QUIT_OPTION) { MatchStateManager.ExitMatch(); } else { Debug.LogWarningFormat("ZMPauseMenuLobby: Unhandled selected index {0}", _selectedIndex); } }
private void HandleAnyInputEvent(IntEventArgs args) { var controlIndex = args.value; var isAbleToJoin = Utilities.IsValidArrayIndex(_players, controlIndex) && !MatchStateManager.IsPause() && _players[controlIndex].IsWaiting; if (isAbleToJoin) { _players[controlIndex].SetJoined(); Notifier.SendEventNotification(OnPlayerJoinedEvent, args); _requiredPlayerCount += 1; if (!MatchStateManager.IsPreMatch()) { MatchStateManager.StartPreMatch(); } } }
protected virtual bool IsAbleToPause() { return(MatchStateManager.IsMain() || MatchStateManager.IsPause()); }
private void HandleSelectQuitEvent() { MatchStateManager.ExitMatch(); SceneManager.LoadScene(ZMSceneIndexList.INDEX_MAIN_MENU); }
private void BeginGame() { MatchStateManager.StartMatch(); }
private void EndGame() { MatchStateManager.EndMatch(); }
void FixedUpdate() { var infoArgs = new ZMPlayerInfoEventArgs(_playerInfo); // Score checks. if (IsAbleToScore()) { if (_pointState != PointState.GAINING) { _pointState = PointState.GAINING; Notifier.SendEventNotification(CanScoreEvent, infoArgs); } } else if (_pointState != PointState.NEUTRAL) { _pointState = PointState.NEUTRAL; Notifier.SendEventNotification(OnStopScore, infoArgs); } // state handling if (_pointState == PointState.GAINING) { foreach (ZMSoul soul in _drainingSouls) { if (soul.GetComponent <ZMPedestalController>().IsDiabled()) { continue; } if ((soul.GetZen() - SCORE_RATE) > 0) { AddToScore(SCORE_RATE); soul.AddZen(-SCORE_RATE); soul.SendMessage("SetPulsingOn"); } else if (soul.GetZen() > 0) { AddToScore(soul.GetZen()); soul.SetZen(0); soul.SendMessage("SetPulsingOff"); } } } else if (_pointState == PointState.LOSING) { Notifier.SendEventNotification(CanDrainEvent, infoArgs); } // player score checks if (_totalScore <= 0 && _goalState != GoalState.MIN) { _goalState = GoalState.MIN; Notifier.SendEventNotification(OnReachMinScore, infoArgs); } if (_totalScore >= MAX_SCORE && !IsMaxed()) { _goalState = GoalState.MAX; } // Player score state checks if (_goalState == GoalState.MAX) { _goalState = GoalState.MAXED; // Assumes total score clamped to max score. if (_totalScore == MAX_SCORE) { MatchStateManager.EndMatch(); } Notifier.SendEventNotification(OnReachMaxScore, infoArgs); } }
protected override bool IsAbleToPause() { return(ZMLobbyController.Instance.IsPlayerJoined(_playerInfo.ID) || MatchStateManager.IsPause()); }