public void OnStunEnd()
 {
     if (_stunFx != null)
     {
         Destroy(_stunFx);
         _stunFx = null;
     }
     m_animator.SetBool("scared", false);
     m_characterStatesEnum = CharacterStatesEnum.WALKING;
 }
    public void OnStatic(int maxDuration = 4)
    {
        if (m_characterStatesEnum == CharacterStatesEnum.STATIC)
        {
            return;
        }
        m_characterStatesEnum = CharacterStatesEnum.STATIC;
        m_animator.SetInteger("speed", 0);
        m_speed = m_model.Speed;

        var duration = Mathf.Min(Random.Range(2, 5), maxDuration);

        StartMovementCoroutine(GoToWalk(duration));
    }
    public void OnFear(int power)
    {
        if (m_tempVictory)
        {
            return;
        }

        m_characterStatesEnum = CharacterStatesEnum.FEAR;
        m_animator.SetTrigger("cri");
        m_animator.SetInteger("speed", 2);
        m_target      = null;
        m_fearCounter = power;
        StartMovementCoroutine(RunAfterFear());
    }
    public void OnElectrocute(float duration, int damage)
    {
        if (m_tempVictory)
        {
            return;
        }
        m_currentLife -= damage;

        m_characterStatesEnum = CharacterStatesEnum.STUN;
        m_animator.SetTrigger("electrocute");
        m_stunEnd = Time.time + duration;

        m_target = null;
    }
    public void OnStun(float duration)
    {
        if (m_tempVictory)
        {
            return;
        }

        if (_stunFx == null)
        {
            _stunFx = (GameObject)Instantiate(_stunFxPrefab);
            _stunFx.transform.position = transform.position + Vector3.up * 0.5f;
        }

        m_characterStatesEnum = CharacterStatesEnum.STUN;
        m_animator.SetBool("scared", true);
        m_stunEnd = Time.time + duration;
        m_target  = null;
    }
 public void OnWalk()
 {
     m_characterStatesEnum = CharacterStatesEnum.WALKING;
     m_animator.SetInteger("speed", 1);
     m_speed = m_model.Speed;
 }
 public void OnRun()
 {
     m_characterStatesEnum = CharacterStatesEnum.RUNNING;
     m_speed = m_model.Speed * 2;
 }