// Update is called once per frame void Update() { if (commands.state != MonkayCommands.MonkayState.controled) { if ((commands.state == MonkayCommands.MonkayState.going && commands.GetDistanceFormDirectionTarget() > 20) || (user.IsBeingChased() && commands.state == MonkayCommands.MonkayState.waiting)) { { forceIn = true; commands.ChangeState(gameObject.transform.parent.gameObject.GetComponent <CharacterMenager>(), MonkayCommands.MonkayState.following); } } if ((user.IsBeingChased() && (commands.state != MonkayCommands.MonkayState.going || character.GetSoundStrenght() < 0.1f))) { if (!crazy) { ChangeCurrentRandomPositioner(Instantiate(randomPositioner, transform.position, Quaternion.identity)); ai.target = currentRandomPositioner.transform.GetChild(0); commands.ChangeState(gameObject.transform.parent.gameObject.GetComponent <CharacterMenager>(), MonkayCommands.MonkayState.running); crazy = true; } else if (timer < Time.time && character.GetSoundStrenght() < 0.2f) { if (!ai.target.GetComponent <MonkayTargetChanger>()) { crazy = false; } else { ai.target.GetComponent <MonkayTargetChanger>().Change(); currentRandomPositioner.transform.position = transform.position; timer = Time.time + 0.15f; } } } else { crazy = false; } } }
public float GetSoundStrenght() { return(m_Character.GetSoundStrenght()); }