Example #1
0
 protected override void RemoveManagers()
 {
     MatchStateManager = null;
     HandManager       = null;
     CharacterManager  = null;
     MatchViewManager  = null;
 }
Example #2
0
 private void HandlePlayerRespawnEvent(ZMPlayerControllerEventArgs args)
 {
     if (!MatchStateManager.IsEnd())
     {
         _crowns[args.controller.PlayerInfo.ID].SetActive(true);
     }
 }
Example #3
0
 protected override void AddManagers()
 {
     CharacterManager          = new MatchCharacterManager();
     MatchStateManager         = new MatchStateManager();
     PlayerControlStateManager = new PlayerControlStateManager();
     HandManager      = new MatchHandManager();
     MatchViewManager = new MatchViewManager();
 }
Example #4
0
    private void HandleDeactivateEvent(MonoBehaviourEventArgs args)
    {
        if (MatchStateManager.IsMain())
        {
            int index = Random.Range(0, zenPop.Length - 1);

            _audio.PlayOneShot(zenPop[index]);
        }
    }
Example #5
0
 protected void ResumeGame()
 {
     if (IsAbleToPause())
     {
         ClearInputEvents();
         ToggleActive(false);
         MatchStateManager.ResumeMatch();
     }
 }
Example #6
0
    protected void PauseGame()
    {
        if (IsAbleToPause())
        {
            var infoArgs = new ZMPlayerInfoEventArgs(_playerInfo);

            AcceptInputEvents();
            ShowMenu();

            Notifier.SendEventNotification(OnPlayerPauseGame, infoArgs);
            MatchStateManager.PauseMatch();
        }
    }
Example #7
0
    protected override void HandleMenuSelection()
    {
        base.HandleMenuSelection();

        if (_selectedIndex == 0)
        {
            MatchStateManager.ResetMatch();
        }
        else if (_selectedIndex == 1)
        {
            MatchStateManager.ExitMatch();
        }
    }
Example #8
0
 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");
     }
 }
Example #9
0
    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();
        }
    }
Example #10
0
    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);
        }
    }
Example #11
0
    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();
            }
        }
    }
Example #12
0
 protected virtual bool IsAbleToPause()
 {
     return(MatchStateManager.IsMain() || MatchStateManager.IsPause());
 }
Example #13
0
 private void HandleSelectQuitEvent()
 {
     MatchStateManager.ExitMatch();
     SceneManager.LoadScene(ZMSceneIndexList.INDEX_MAIN_MENU);
 }
Example #14
0
 private void BeginGame()
 {
     MatchStateManager.StartMatch();
 }
Example #15
0
 private void EndGame()
 {
     MatchStateManager.EndMatch();
 }
Example #16
0
    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);
        }
    }
Example #17
0
 protected override bool IsAbleToPause()
 {
     return(ZMLobbyController.Instance.IsPlayerJoined(_playerInfo.ID) || MatchStateManager.IsPause());
 }