示例#1
0
    void Move()
    {
        if (DrawAnimatorState.GetDrawState().Equals(Enums.GAME_STATE.Move) && isMoving)
        {
            transform.position += Vector3.left * movementSpeed * Time.deltaTime;
        }
        else
        {
            Enums.GAME_STATE state = DrawAnimatorState.GetDrawState();
            isMoving = false;

            if (state.Equals(Enums.GAME_STATE.Wait))
            {
                return;
            }
            transform.localScale = new Vector3(Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);
            if (state.Equals(Enums.GAME_STATE.Fail) ||
                state.Equals(Enums.GAME_STATE.Foul))
            {
                anim.SetBool(Enums.GAME_STATE.Pass.ToString(), true);
            }
            else
            {
                anim.SetBool(Enums.GAME_STATE.Fail.ToString(), true);
            }
        }
    }
示例#2
0
 //OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (!user_drawn)
     {
         state = Enums.GAME_STATE.Wait;
     }
 }
示例#3
0
    public void SetResult(Enums.GAME_STATE state)
    {
        int strikes = LevelManager.instance.strikes.Count;

        sprite.enabled = true;
        switch (state)
        {
        case Enums.GAME_STATE.Pass:
            sprite.sprite = passFoulFail [0];
            anim.SetTrigger("toUI_pass");
            LevelManager.instance.AddScore();
            break;

        case Enums.GAME_STATE.Foul:
            sprite.sprite = passFoulFail [1];
            anim.SetTrigger("toUI_" + strikes);
            LevelManager.instance.strikes.Add(state.Equals(Enums.GAME_STATE.Foul));
            break;

        case Enums.GAME_STATE.Fail:
            sprite.sprite = passFoulFail [2];
            anim.SetTrigger("toUI_" + strikes);
            LevelManager.instance.strikes.Add(state.Equals(Enums.GAME_STATE.Foul));
            break;
        }
        ;
        Invoke("LoadNextLevel", LevelManager.instance.loadTime);
    }
示例#4
0
 void DrawAction()
 {
     user_drawn           = true;
     transform.localScale = new Vector3(-Mathf.Abs(transform.localScale.x), transform.localScale.y, transform.localScale.z);
     Enums.GAME_STATE state = DrawAnimatorState.UserInput();
     anim.SetBool(state.ToString(), true);
     Invoke("ResetScene", LevelManager.instance.loadTime);
     GameObject.FindObjectOfType <GameStateResult> ().SetResult(state);
 }
示例#5
0
 public static Enums.GAME_STATE UserInput()
 {
     user_drawn = true;
     if (state.Equals(Enums.GAME_STATE.Wait))
     {
         state = Enums.GAME_STATE.Pass;
     }
     else if (state.Equals(Enums.GAME_STATE.Move))
     {
         state = Enums.GAME_STATE.Foul;
     }
     return(state);
 }
示例#6
0
 public static void ResetAnimator()
 {
     state      = Enums.GAME_STATE.Move;
     user_drawn = false;
 }
示例#7
0
 void LevelComplete(Enums.GAME_STATE state)
 {
     levelComplete = true;
     GameObject.FindObjectOfType <GameStateResult> ().SetResult(state);
 }
    void OnTapReceive(OnTap e)
    {
        bool lRight = e.isRight;

        switch (state)
        {
        case Enums.GAME_STATE.MENU:
            EventsManager.Instance.Raise(new OnSFXPlay(Enums.TYPE_SFX.TAP_RIGHT));
            state = Enums.GAME_STATE.SELECTION;
            EventsManager.Instance.Raise(new OnGameStateChanged());
            return;

        case Enums.GAME_STATE.SELECTION:

            if (lRight)
            {
                EventsManager.Instance.Raise(new OnSFXPlay(Enums.TYPE_SFX.TAP_RIGHT));
                _drum.SetDifficultyLevel(true);
                _bamboo.DisplayBamboo(true);
                _currentLevel = Instantiate(_hardLevel);
                _hardMode     = true;
            }
            else
            {
                print("ez mode");
                EventsManager.Instance.Raise(new OnSFXPlay(Enums.TYPE_SFX.TAP_LEFT));
                _drum.SetDifficultyLevel(false);
                _bamboo.DisplayBamboo(false);
                _currentLevel = Instantiate(_easyLevel);
                _hardMode     = false;
            }

            state = Enums.GAME_STATE.GAME;
            EventsManager.Instance.Raise(new OnGameStateChanged());
            return;

        case Enums.GAME_STATE.GAME:
            CheckCorrectTap(lRight);
            return;

        case Enums.GAME_STATE.END:
            if (lRight)
            {
                EventsManager.Instance.Raise(new OnSFXPlay(Enums.TYPE_SFX.TAP_RIGHT));
                state = Enums.GAME_STATE.MENU;
            }

            else
            {
                EventsManager.Instance.Raise(new OnSFXPlay(Enums.TYPE_SFX.TAP_LEFT));

                state = Enums.GAME_STATE.GAME;
                if (_hardMode)
                {
                    _currentLevel = Instantiate(_hardLevel);
                }
                else
                {
                    _currentLevel = Instantiate(_easyLevel);
                }
            }
            ResetScore();

            EventsManager.Instance.Raise(new OnGameStateChanged());
            return;
        }
    }
 void OnEndGame(OnEndGame e)
 {
     state = Enums.GAME_STATE.END;
     EventsManager.Instance.Raise(new OnGameStateChanged());
     Destroy(_currentLevel);
 }