Пример #1
0
    protected IEnumerator MoveProcess()
    {
        _actorAnimator.Play(_currentStatus.ToString());

        // 랜덤한 방향으로 일정시간 움직임
        float randMoveTime = Random.Range(0.8f, 3f);
        int   randDir      = Random.Range(0, 2);

        while (0 < randMoveTime)
        {
            if (0 == randDir)
            {
                // 왼쪽으로 가버리기
                SetDirection(true);
                MovePos(Vector2.left * Time.deltaTime * _charMoveSpeed);
            }
            else
            {
                // 오른쪽으로 가버리기
                SetDirection(false);
                MovePos(Vector2.right * Time.deltaTime * _charMoveSpeed);
            }

            randMoveTime -= Time.deltaTime;
            yield return(null);
        }

        // 쉼
        _currentStatus = eActorStatus.Idle;
    }
Пример #2
0
    protected IEnumerator IdleProcess()
    {
        _actorAnimator.Play(_currentStatus.ToString());

        // 랜덤하게 기달렷다가 움직인다.
        int randIdleTime = Random.Range(500, 2000);

        yield return(PGTimer.PGWaitForSeconds(randIdleTime));

        _currentStatus = eActorStatus.Move;
    }