Beispiel #1
0
    /// <summary>
    /// ステータスのENUMからクラスを取得する
    /// </summary>
    /// <param name="state">対象ステータス定義</param>
    /// <returns>ステータスクラス</returns>
    private StgPlayerAttackState GetState(StgPlayerAttackState.state state)
    {
        switch (state)
        {
        case StgPlayerAttackState.state.Power1:
            return(power1);

        case StgPlayerAttackState.state.Power2:
            return(power2);

        case StgPlayerAttackState.state.Power3:
            return(power3);

        case StgPlayerAttackState.state.Power4:
            return(power4);

        case StgPlayerAttackState.state.Power5:
            return(power5);

        case StgPlayerAttackState.state.Power6:
            return(power6);

        default:
            break;
        }
        return(null);
    }
Beispiel #2
0
 /// <summary>
 /// ステータス更新処理
 /// </summary>
 /// <param name="elapsedTime">前回実行からの経過時間</param>
 /// <param name="touchAction">タッチ入力クラス</param>
 /// <param name="dragAction">ドラッグ入力クラス</param>
 public void Update(float elapsedTime, UnitySingleTouchAction touchAction, UnitySingleTouchDragAction dragAction)
 {
     StgPlayerAttackState.state state = current.Update(elapsedTime, touchAction, dragAction);
     if (state != currentState)
     {
         SetCurrentState(state);
     }
 }
Beispiel #3
0
    /// <summary>
    /// currentStateを設定する
    /// </summary>
    /// <param name="state">設定するステータス</param>
    private void SetCurrentState(StgPlayerAttackState.state state)
    {
        if (state == currentState)
        {
            return;
        }
        // 現在のステータスから変更するのでイベント発生
        current.OnStateNonActive(state);

        current = GetState(state);
        current.OnStateActive(currentState);
        currentState = state;
    }