Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        float dist = Vector3.Distance(gameObject.transform.position, waypoints[num].transform.position);

        _targetObject = gameObject.transform.GetChild(0).GetComponent <DragonDetector>().targetObject;

        if (dist > minDist)
        {
            Move();
        }
        else
        {
            if (gameObject.transform.position.x == waypoints[num].transform.position.x &&
                gameObject.transform.position.z == waypoints[num].transform.position.z)
            {
                _moveDelayTime++;

                anim.SetBool("Idle Bool", true);
                anim.SetBool("Walk Bool", false);
            }

            if (_moveDelayTime > 3 * 60.0f)
            {
                _moveDelayTime = 0;
                num            = Random.Range(0, waypoints.Length);
            }
        }

        int iconNum;

        if (_moodState == MoodState.BAD)
        {
            _moodState = MoodState.BAD;
            // ご機嫌度を徐々に減らす
            gameObject.transform.GetChild(0).GetComponent <DragonDetector>().CalcMoodValue();
            iconNum = 2;
        }
        else if (moodValue < 50)
        {
            _moodState = MoodState.NORMAL;
            iconNum    = 0;
        }
        else if (moodValue < 80)
        {
            _moodState = MoodState.GREAT;
            iconNum    = 0;

            GameManager.Instance.FollowPlayer();
        }
        else
        {
            _moodState = MoodState.HAPPY;
            GiveShield();
            iconNum = 1;

            GameManager.Instance.FollowPlayer();
        }

        GameManager.Instance.ChangeIcon(iconNum);
    }
Exemplo n.º 2
0
 public void SetMood(MoodState moodState)
 {
     if (animator != null)
     {
         animator.SetInteger("Mood", (int)moodState);
     }
 }
Exemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     navMeshAgent   = this.gameObject.GetComponent <NavMeshAgent>();
     _time          = 0;
     _stopTime      = 0;
     _moveDelayTime = 0;
     num            = 0;
     moodValue      = 30.0f;
     _moodState     = MoodState.NORMAL;
     anim           = GetComponent <Animator>();
 }
Exemplo n.º 4
0
 protected virtual void ChangeMoodState(MoodState moodState)
 {
 }