Example #1
0
        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);
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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());
            }
        }