public override void Update() { base.Update(); if (!Combatant.IsAlive()) { if (Combatant.DeathOver) { End(); Combatant.CallDeath(); return; } else { Combatant.DeathOver = true; } } //HealthBar2D health_bar = Combatant.HealthBar; //if (health_bar != null && health_bar.Hidden && StateTime > 0.1f) //{ // health_bar.ShowHealthBar(); //} var health_bar = Combatant.HealthBar; if (health_bar != null && StateTime > 0.1f) { health_bar.OnHandleMessage("ShowHealthBar", null); } }
public override void Update() { base.Update(); if (mFreeze) { //if (mFreezeTime > 0) //{ // mFreezeTime -= Time.deltaTime; // if (mFreezeTime <= 0) // { // End(); // } //} if (!Combatant.IsAlive()) { End(); //SwitchState(Combatant.GetActionState<DeathActionState>()); Combatant.CallDeath(); } return; } MoveController.CombatantMoveState move_state = Combatant.GetMoveState(); int state_hash = Combatant.MoveController.GetCurrentAnimHash(); AnimatorStateInfo state_info = Combatant.MoveController.GetCurrentStateInfo(); if (move_state != MoveController.CombatantMoveState.kHitReaction) { EB.Debug.LogError("invalid move state"); Stop(); return; } if (state_hash != state_info.fullPathHash) { // animator does not start blending return; } if (state_info.normalizedTime > EndNormalizedTime && NormalizedTime > EndNormalizedTime) { End(); return; } NormalizedTime = state_info.normalizedTime; if (RotateToIdle) { TryRotateTowardToIdle(); } }
public override void Start() { if (Combatant == null) { EB.Debug.LogError("Hotfix_LT.Combat.ReadyActionState.Start() -> Combatant is null"); return; } Combatant.ResetRotation(); try { if (!Combatant.IsAlive()) { if (Combatant.DeathOver) { Combatant.CallDeath(); return; } else { if (Combatant.Data != null) { Hotfix_LT.UI.LTCombatEventReceiver.Instance.OnPlayerDeathAnimEnd(Combatant.Data.IngameId); } Combatant.DeathOver = true; } } if (Combatant.MoveController != null) { Combatant.MoveController.TransitionTo(MoveState); if (ManualCrossFade) { float blend_time = 0.00f;// 0.15f * Combatant.MoveController.GetCurrentStateInfo().length; Combatant.MoveController.CrossFade(MoveController.m_ready_hash, blend_time, defaultLayer, NormalizedTime); } } if (Combatant.NeedLaunch && Vector3.Distance(Combatant.OriginPosition, Combatant.transform.position) < distanceEpsilon) { SwitchState(Combatant.GetActionState <LaunchActionState>()); } } catch (System.NullReferenceException e) { EB.Debug.LogError(e.ToString()); } }