// 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); }
public void SetMood(MoodState moodState) { if (animator != null) { animator.SetInteger("Mood", (int)moodState); } }
// 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>(); }
protected virtual void ChangeMoodState(MoodState moodState) { }