Пример #1
0
    public void Reset()
    {
        m_ActiveActions.Clear();

        //  Stop = false;
        MotionType     = E_MotionType.None;
        WeaponState    = E_WeaponState.NotInHands;
        WeaponToSelect = E_WeaponType.None;

        Speed = 0;

        Health = MaxHealth;

        Rage      = RageMin;
        Dodge     = DodgeMin;
        Fear      = FearMin;
        IdleTimer = 0;

        MoveDir = Vector3.zero;

        DesiredPosition  = Vector3.zero;
        DesiredDirection = Vector3.zero;

        InteractionObject = null;
        Interaction       = E_InteractionType.None;

        DesiredAnimation = "";

        DesiredTarget     = null;
        DesiredAttackType = E_AttackType.None;

        DontUpdate = false;
    }
Пример #2
0
    public override string GetIdleActionAnim(E_WeaponType weapon, E_WeaponState weaponState)
    {
        if (weapon == E_WeaponType.Katana)
        {
            return("idleTaunt");
        }

        return("idle");
    }
Пример #3
0
 // Use this for initialization
 void Start()
 {
     m_Animator        = GetComponent <Animator>();
     m_Collider        = GetComponent <Collider>();
     m_Rigidbody       = GetComponent <Rigidbody>();
     m_AudioSource     = GetComponent <AudioSource>();
     m_WeaponContainer = transform.parent;
     m_WeaponState     = E_WeaponState.HOLDED;
 }
Пример #4
0
    public override string GetIdleAnim(E_WeaponType weapon, E_WeaponState weaponState)
    {
        if (weaponState == E_WeaponState.NotInHands)
        {
            return("idle");
        }

        return("idleSword");
    }
Пример #5
0
    public override string GetIdleActionAnim(E_WeaponType weapon, E_WeaponState weaponState)
    {
        Debug.LogError("unssupported !!");

        if (weapon == E_WeaponType.Katana)
        {
            return("idleTount");
        }

        return("idle");
    }
Пример #6
0
    private void StartComingBack()
    {
        // apply rotation speed
        StopCoroutine("Rotate");
        StartCoroutine("Rotate");
        m_Rigidbody.velocity        = Vector3.zero;
        m_Rigidbody.angularVelocity = Vector3.zero;
        m_Rigidbody.isKinematic     = true;
        m_Rigidbody.useGravity      = false;
        //deactivate animator
        m_Animator.enabled = false;
        m_WeaponState      = E_WeaponState.COMING_BACK;

        WeaponAudio.WooshLoopData.SetToAudioSource(ref m_AudioSource);
        m_AudioSource.Play();
    }
Пример #7
0
 private void OnCollisionEnter(Collision collision)
 {
     if (m_WeaponState == E_WeaponState.THROWING)
     {
         m_Rigidbody.isKinematic = true;
         m_WeaponState           = E_WeaponState.LANDED;
         StopCoroutine("Rotate");
         StopCoroutine("FallingDelayed");
         WeaponAudio.ImpactData.SetToAudioSource(ref m_AudioSource);
         m_AudioSource.Play();
     }
     else
     {
         GoToIdle();
     }
 }
Пример #8
0
    private void OnGettingBack()
    {
        StopCoroutine("RotateToNormalPos");
        transform.position = m_WeaponContainer.transform.position;
        transform.rotation = m_WeaponContainer.transform.rotation;
        SafeSetParent(m_WeaponContainer.transform);

        // apply velocity
        m_Rigidbody.isKinematic = true;

        //deactivate animator
        m_Animator.enabled = true;
        m_WeaponState      = E_WeaponState.HOLDED;

        WeaponAudio.GettingBackData.SetToAudioSource(ref m_AudioSource);
        m_AudioSource.Play();
    }
Пример #9
0
    public void StartRangeAttack()
    {
        // remove from parent
        transform.parent  = null;
        transform.forward = Vector3.up;

        // apply rotation speed
        StartCoroutine("Rotate");
        StartCoroutine("FallingDelayed");
        // apply velocity
        m_Rigidbody.velocity    = Camera.main.transform.forward * ThrowSpeed;
        m_Rigidbody.isKinematic = false;

        //deactivate animator
        m_Animator.enabled = false;
        m_WeaponState      = E_WeaponState.THROWING;

        WeaponAudio.WooshLoopData.SetToAudioSource(ref m_AudioSource);
        m_AudioSource.Play();
    }
Пример #10
0
 public override string GetRollAnim(E_WeaponType weapon, E_WeaponState weaponState)
 {
     return(null);
 }
Пример #11
0
 public override string GetMoveAnim(E_MotionType motion, E_MoveType move, E_WeaponType weapon, E_WeaponState weaponState)
 {
     return("walk");
 }
Пример #12
0
 public override string GetIdleActionAnim(E_WeaponType weapon, E_WeaponState weaponState)
 {
     return("tount");
 }
Пример #13
0
 public override string GetIdleAnim(E_WeaponType weapon, E_WeaponState weaponState)
 {
     return("idle");
 }
Пример #14
0
 public abstract string GetRollAnim(E_WeaponType weapon, E_WeaponState weaponState);
Пример #15
0
 public override string GetMoveAnim(E_MotionType motion, E_MoveType move, E_WeaponType weapon, E_WeaponState weaponState)
 {
     if (E_WeaponState.NotInHands == weaponState)
     {
         if (E_MotionType.Walk == motion)
         {
             return("walk");
         }
         return("run");
     }
     if (E_MotionType.Walk == motion)
     {
         return("walkSword");
     }
     return("runSword");
 }
Пример #16
0
 /// <summary>
 /// Gets the idle animation.
 /// 获取Idle动画名字,普通Idle,拿各种武器的Idle
 /// </summary>
 /// <returns>The idle animation name.</returns>
 public abstract string GetIdleAnim(E_WeaponType _weaponType, E_WeaponState _weaponState);
Пример #17
0
    public override string GetMoveAnim(E_MotionType motion, E_MoveType move, E_WeaponType weapon, E_WeaponState weaponState)
    {
        if (weaponState == E_WeaponState.NotInHands)
        {
            if (motion != E_MotionType.Walk)
            {
                return("run");
            }
            else
            {
                return("walk");
            }
        }

        if (motion != E_MotionType.Walk)
        {
            return("runSword");
        }

        return("walkSword");
    }
Пример #18
0
 public override string GetRollAnim(E_WeaponType weapon, E_WeaponState weaponState)
 {
     return("evadeSword");
 }
Пример #19
0
    public override string GetMoveAnim(E_MotionType motion, E_MoveType move, E_WeaponType weapon, E_WeaponState weaponState)
    {
        if (weaponState == E_WeaponState.NotInHands)
        {
            return("walk");
        }
        else
        {
            if (motion == E_MotionType.Walk)
            {
                if (move == E_MoveType.Forward)
                {
                    return("combatMoveF");
                }
                else if (move == E_MoveType.Backward)
                {
                    return("combatMoveB");
                }
                else if (move == E_MoveType.StrafeRight)
                {
                    return("combatMoveR");
                }
                else
                {
                    return("combatMoveL");
                }
            }
            else
            {
                if (move == E_MoveType.Forward)
                {
                    return("combatRunF");
                }
                else if (move == E_MoveType.Backward)
                {
                    return("combatRunB");
                }
            }
        }

        return("idle");
    }
Пример #20
0
 public abstract string GetIdleActionAnim(E_WeaponType weapon, E_WeaponState weaponState);
Пример #21
0
 public override string GetIdleAnim(E_WeaponType weapon, E_WeaponState weaponState)
 {
     throw new NotImplementedException();
 }
Пример #22
0
 public abstract string GetMoveAnim(E_MotionType motion, E_MoveType move, E_WeaponType weapon, E_WeaponState weaponState);