// Update is called once per frame private void Update() { _timer += Time.deltaTime; if (!(_timer > 1)) { return; } _timer = 0; if (MyState == Monster2State.LookingForGold) { if (NearestGoldBag() == null) { return; } _groundMovingB.Move(NearestGoldBag().transform.position); } else { _groundMovingB.Move(EscapePosition); if (transform.position == EscapePosition && MyState == Monster2State.Escaping) { MyState = Monster2State.LookingForGold; } } }
// Use this for initialization private void Start() { _groundMovingB = GetComponent <GroundMovingB>(); EscapePosition = transform.position; MyState = Monster2State.LookingForGold; _animator = GetComponentInChildren <Animator>(); Hp = 2; Experience = 612; Malus = 15; }
private IEnumerator Steal(Collider collision) { var asi = _animator.GetCurrentAnimatorStateInfo(0); yield return(new WaitForSeconds(asi.length + asi.normalizedTime)); Game.GameManager.LoseExperience(Malus); MyState = Monster2State.Escaping; if (collision != null) { Destroy(collision.gameObject); } }