GameFramework.EntityController.ActivateSkill C# (CSharp) Метод

ActivateSkill() приватный Метод

private ActivateSkill ( int actorId, int skillId, int seq ) : void
actorId int
skillId int
seq int
Результат void
        internal void ActivateSkill(int actorId, int skillId, int seq)
        {
            EntityViewModel view = GetEntityViewById(actorId);
            if (null != view && null != view.Entity) {
                EntityInfo entity = view.Entity;
                SkillInfo skillInfo = entity.GetSkillStateInfo().GetSkillInfoById(skillId);
                if (null != skillInfo) {
                    SkillInfo curSkillInfo = entity.GetSkillStateInfo().GetCurSkillInfo();
                    if (null != curSkillInfo && (curSkillInfo.ConfigData.interruptPriority < skillInfo.ConfigData.interruptPriority)) {
                        GfxSkillSystem.Instance.StopSkill(actorId, curSkillInfo.SkillId, 0, true);
                        if (skillId == view.Entity.ManualSkillId) {
                            LogSystem.Warn("ManualSkill {0} interrupt {1}.", skillId, curSkillInfo.SkillId);
                        }
                    }
                    if (skillId == view.Entity.ManualSkillId) {
                        LogSystem.Warn("ManualSkill {0} activate.", skillId);
                    }
                    entity.GetSkillStateInfo().SetCurSkillInfo(skillId);
                    skillInfo.IsSkillActivated = true;
                    skillInfo.CdEndTime = TimeUtility.GetLocalMilliseconds() + (long)skillInfo.ConfigData.cooldown;
                    if (skillInfo.ConfigData.addmp > 0 && !ClientModule.Instance.IsRoomScene) {
                        //回蓝
                        entity.SetEnergy(Operate_Type.OT_Relative, skillInfo.ConfigData.addmp);
                        entity.EntityManager.FireDamageEvent(actorId, 0, false, false, 0, -skillInfo.ConfigData.addmp);
                    }
                }
            }
        }

Usage Example

Пример #1
0
 static public int ActivateSkill(IntPtr l)
 {
     try {
         GameFramework.EntityController self = (GameFramework.EntityController)checkSelf(l);
         System.Int32 a1;
         checkType(l, 2, out a1);
         System.Int32 a2;
         checkType(l, 3, out a2);
         System.Int32 a3;
         checkType(l, 4, out a3);
         self.ActivateSkill(a1, a2, a3);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }