예제 #1
0
    // Use this for initialization
    void Start()
    {
        status           = transform.root.GetComponent <WargsStatus>();
        animator         = GetComponent <WargAnimator>();
        moveController   = GetComponent <EnemyMove>();
        searchController = transform.Find("SearchAreaTrigger").GetComponent <WargSearch>();

        // 初期位置を保持
        initPosition = transform.position;
        // 待機時間
        waitTime = status.MinWaitTime;

        nowState  = WargState.Searching;
        nextState = WargState.Searching;
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        switch (nowState)
        {
        case WargState.Searching:
            Searching();
            break;

        case WargState.Chasing:
            Chasing();
            break;

        case WargState.Attacking:
            Attacking();
            break;
        }

        if (nowState != nextState)
        {
            nowState = nextState;
            switch (nowState)
            {
            case WargState.Searching:
                PrepareForSearch();
                break;

            case WargState.Chasing:
                PrepareForChase();
                break;

            case WargState.Attacking:
                PrepareForAttack();
                break;

            case WargState.Died:
                Died();
                break;
            }
        }
        animator.SetMoveAnimatorParameter();
    }
예제 #3
0
 // ステートを変更する.
 void ChangeState(WargState _nextState)
 {
     nextState = _nextState;
 }