Beispiel #1
0
        public override void Attach(LogicUnit g, LogicUnit t)
        {
            base.Attach(g, t);

            if (t.type == LogicUnitType.Soldier)
            {
                soldier = (Soldier)t;

                if (ownerDebuff.sneerEffect == null && soldier != null && soldier.Alive())
                {
                    if (!soldier.GetFlag(SoldierAttributeFlags.BanSkill))
                    {
                        soldier.SetFlag(SoldierAttributeFlags.BanSkill);
                    }
                    soldier.skillHandler.SetHandlerEnabled(false);

                    if (!soldier.GetFlag(SoldierAttributeFlags.BanCommand))
                    {
                        soldier.SetFlag(SoldierAttributeFlags.BanCommand);
                    }

                    ownerDebuff.sneerEffect = this;
                    soldier.ClearPathRender();
                    soldier.Chase(g);
                }
            }
            else
            {
                DebugUtils.LogError(DebugUtils.Type.AI_AttributeEffect, string.Format("{0} {1} can't handle debuff now!", t.type, t.id));
            }
        }
Beispiel #2
0
        public override void OnEnter()
        {
            base.OnEnter();

            stateListener.PostIdleStateChanged(true);

            owner.ClearPathRender();
        }
Beispiel #3
0
        public override void OnEnter()
        {
            base.OnEnter();

            stateListener.PostAliveStateChangedEvent(false);
            stateListener.PostDeathEvent();

            owner.ClearPathRender();
        }
        public override void OnEnter()
        {
            base.OnEnter();

            owner.ClearPathRender();

            fightState         = FightState.StartSwingPoint;
            fightInterval      = 0;
            isCrit             = false;
            inFightInterval    = false;
            fightDurationTimer = 0;
        }