protected override void Update() { base.Update(); float deltatime = Time.deltaTime; if (m_AttackDelayTimer > 0.0f) { m_AttackDelayTimer -= deltatime; if (m_AttackDelayTimer <= 0.0f) { m_AttackDelayTimer = 0.0f; } } if (m_FreezeTimer > 0.0f) { m_FreezeTimer -= deltatime; if (m_FreezeTimer <= 0.0f) { m_FreezeTimer = 0.0f; } } if (m_AttackLevelConnetTimer > 0.0f) { m_AttackLevelConnetTimer -= deltatime; if (m_AttackLevelConnetTimer <= 0.0f) { m_AttackLevelConnetTimer = 0.0f; m_AttackAniNumber = 0; } } if (PhotonNetwork.InRoom && !m_PhotonView.IsMine) { return; } if (m_IsAutoPlay) { if (m_AttackTarget != null) { if (m_AttackTarget.m_Character == null || m_AttackTarget.m_Character.m_Live == E_LIVE.DEAD) { m_AttackTarget = null; m_NavMeshController.ClearPath(); } } if (m_DicHateTarget.Count > 0) { foreach (HateTarget h in m_DicHateTarget.Values) { h.m_Hate -= deltatime * (1.0f + h.m_Hate * 0.1f); } } if (m_DicHateTarget.Count > 0) { List <int> deletekeys = new List <int>(); foreach (HateTarget h in m_DicHateTarget.Values) { if (h.m_Hate <= 0.0f || h.m_Character == null || h.m_Character.m_Live == E_LIVE.DEAD) { deletekeys.Add(h.m_Key); continue; } if (m_AttackTarget == null) { m_AttackTarget = h; break; } else if (h.m_Hate > m_AttackTarget.m_Hate) { m_AttackTarget = h; } } if (deletekeys.Count > 0) { for (int i = 0; i < deletekeys.Count; ++i) { m_DicHateTarget.Remove(deletekeys[i]); } } } } if (m_Live == E_LIVE.DEAD) { return; } if (m_IsCharging) { return; } if (m_FreezeTimer > 0.0f) { return; } if (m_IsAutoPlay) { bool useskill = false; if (m_ListActiveSkill.Count > 0) { for (int i = 0; i < m_ListActiveSkill.Count; ++i) { if (m_ListActiveSkill[i].AutoPlayLogic()) { useskill = true; break; } } } if (useskill) { return; } m_AutoPlayLogic?.Invoke(); } if (m_State != E_STATE.IDLE) { if (m_AttackDelayTimer <= 0.0f && !m_NavMeshController.IsUpdate()) { m_State = E_STATE.IDLE; SetStateAndAnimationNetwork(E_ANIMATION.IDLE, 0.25f, 1.0f, 0.0f); } } m_NavMeshController.UpdateTransform(transform, m_MovePerSpeed, m_RotatePerSpeed); }