public void GiveToDamage(int _AttackerID, int _Damage) { if (m_Live == E_Live.DEAD) { return; } m_Health -= _Damage; if (m_Health <= 0.0f) { m_Live = E_Live.DEAD; m_UpperBidyAddAngle = Vector3.zero; m_UpperAnimState = E_UpperBodyAnimState.DEATH; m_UnderAnimState = E_UnderBodyAnimState.DEATH; m_Animator.CrossFade("UpperBody.Death", 0.1f); m_Animator.CrossFade("UnderBody.Death", 0.1f); if (IsAI) { m_CapsuleCollider.isTrigger = true; } foreach (Gun g in GetGuns()) { g.GunShotDisable(); } } }
protected virtual void Awake() { m_UpperAnimState = E_UpperBodyAnimState.IDLE; m_UnderAnimState = E_UnderBodyAnimState.LAND; GameObject model = Instantiate(m_Model, transform); model.transform.localPosition = Vector3.zero; model.transform.localRotation = Quaternion.identity; m_Animator = GetComponentInChildren <Animator>(); m_Animator.gameObject.AddComponent <AnimationCallbackEvent>(); m_Rigidbody = GetComponent <Rigidbody>(); m_CapsuleCollider = GetComponent <CapsuleCollider>(); m_ChestBone = m_Animator.GetBoneTransform(HumanBodyBones.Chest); m_Renderers = m_Animator.GetComponentsInChildren <SkinnedMeshRenderer>(); CreateGun(); // tmp GameObject gun = Resources.Load <GameObject>("Weapons/Gun"); GameObject leftgun = Instantiate(gun, m_LeftHandPoint); GameObject rightgun = Instantiate(gun, m_RightHandPoint); sunTTHelper.SetLocalTransformIdentity(leftgun.transform); sunTTHelper.SetLocalTransformIdentity(rightgun.transform); m_Gun[0] = leftgun.GetComponent <Gun>(); m_Gun[1] = rightgun.GetComponent <Gun>(); }
public void Revive() { m_Health = m_HealthMax; m_Live = E_Live.LIVE; m_UpperBidyAddAngle = Vector3.zero; m_UpperAnimState = E_UpperBodyAnimState.IDLE; m_UnderAnimState = E_UnderBodyAnimState.LAND; m_Animator.CrossFade(m_UpperBodyTreeKey, 0.1f); m_Animator.CrossFade(m_AnimIdleKey, 0.1f); if (IsAI) { m_CapsuleCollider.isTrigger = false; } }
public void SetCastMode(int _AnimNumber, bool _UpperCast = true, bool _UnderCast = true) { if (_UpperCast) { m_UpperAnimState = E_UpperBodyAnimState.CAST; m_Animator.CrossFade("UpperBody.Cast" + _AnimNumber.ToString(), 0.1f); foreach (Gun g in GetGuns()) { g.GunShotDisable(); } } if (_UnderCast) { m_UnderAnimState = E_UnderBodyAnimState.CAST; m_Animator.CrossFade("UnderBody.Cast" + _AnimNumber.ToString(), 0.1f); } }