public void ClearBuff() { this.bRemoveList = false; for (int i = 0; i < this.SpawnedBuffList.get_Count(); i++) { BuffSkill buffSkill = this.SpawnedBuffList.get_Item(i); if (buffSkill != null) { buffSkill.Stop(); } } if (this.protectRule != null) { this.protectRule.ClearBuff(); } if (this.logicEffect != null) { this.logicEffect.ClearBuff(); } for (int j = 0; j < this.SpawnedBuffList.get_Count(); j++) { BuffSkill buffSkill = this.SpawnedBuffList.get_Item(j); if (buffSkill != null) { buffSkill.Release(); } } this.SpawnedBuffList.Clear(); this.delBuffList.Clear(); this.bRemoveList = true; }
public bool Use() { BuffSkill inBuff = ClassObjPool <BuffSkill> .Get(); inBuff.Init(this.BuffID); if (inBuff.cfgData == null) { inBuff.Release(); return(false); } SkillUseContext context = new SkillUseContext(SkillSlotType.SLOT_SKILL_VALID, this.TargetActor.handle.ObjID); context.SetOriginator(this.SrcActor); if (!inBuff.Use(this.SrcActor, context)) { inBuff.Release(); return(false); } this.buffSkill = new BuffFense(inBuff); return(true); }
public void ActionRemoveBuff(BuffSkill inBuff) { if (this.SpawnedBuffList.Remove(inBuff)) { PoolObjHandle <BuffSkill> poolObjHandle = new PoolObjHandle <BuffSkill>(inBuff); this.protectRule.RemoveBuff(ref poolObjHandle); this.logicEffect.RemoveBuff(ref poolObjHandle); BuffChangeEventParam buffChangeEventParam = new BuffChangeEventParam(false, this.actorPtr, inBuff); Singleton <GameSkillEventSys> .GetInstance().SendEvent <BuffChangeEventParam>(GameSkillEventDef.AllEvent_BuffChange, this.actorPtr, ref buffChangeEventParam, GameSkillEventChannel.Channel_AllActor); inBuff.Release(); } }
public bool Use() { BuffSkill buffSkill = ClassObjPool <BuffSkill> .Get(); buffSkill.Init(this.BuffID); if (buffSkill.cfgData == null) { buffSkill.Release(); return(false); } SkillUseParam skillUseParam = default(SkillUseParam); skillUseParam.Init(SkillSlotType.SLOT_SKILL_VALID, this.TargetActor.get_handle().ObjID); skillUseParam.SetOriginator(this.SrcActor); if (!buffSkill.Use(this.SrcActor, ref skillUseParam)) { buffSkill.Release(); return(false); } this.buffSkill = new BuffFense(buffSkill); return(true); }
public bool Use() { BuffSkill buffSkill = ClassObjPool <BuffSkill> .Get(); buffSkill.Init(this.BuffID); if (buffSkill.cfgData == null) { buffSkill.Release(); return(false); } SkillUseParam skillUseParam = default(SkillUseParam); skillUseParam.Init(SkillSlotType.SLOT_SKILL_VALID, this.TargetActor.handle.ObjID); skillUseParam.SetOriginator(this.SrcActor); skillUseParam.skillUseFrom = SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_AREATRIGGER; skillUseParam.uiFromId = (uint)this.BuffID; if (!buffSkill.Use(this.SrcActor, ref skillUseParam)) { buffSkill.Release(); return(false); } this.buffSkill = new BuffFense(buffSkill); return(true); }
public void ActionRemoveBuff(BuffSkill inBuff) { if (this.SpawnedBuffList.Remove(inBuff)) { PoolObjHandle <BuffSkill> handle = new PoolObjHandle <BuffSkill>(inBuff); this.protectRule.RemoveBuff(ref handle); BuffChangeEventParam param = new BuffChangeEventParam(false, base.actorPtr, inBuff); Singleton <GameSkillEventSys> .GetInstance().SendEvent <BuffChangeEventParam>(GameSkillEventDef.Event_BuffChange, base.actorPtr, ref param, GameSkillEventChannel.Channel_HostCtrlActor); if (((inBuff.cfgData.dwEffectType == 2) && (inBuff.cfgData.dwShowType != 2)) && (base.actorPtr != 0)) { LimitMoveEventParam param2 = new LimitMoveEventParam(0, inBuff.SkillID, base.actorPtr); Singleton <GameSkillEventSys> .GetInstance().SendEvent <LimitMoveEventParam>(GameSkillEventDef.Event_CancelLimitMove, base.actorPtr, ref param2, GameSkillEventChannel.Channel_AllActor); } inBuff.Release(); } }
public bool SpawnBuff(PoolObjHandle <ActorRoot> inTargetActor, ref SkillUseParam inParam, int inSkillCombineId, bool bExtraBuff = false) { if ((inTargetActor == 0) || (inSkillCombineId <= 0)) { return(false); } BuffSkill skill = ClassObjPool <BuffSkill> .Get(); skill.Init(inSkillCombineId); skill.bExtraBuff = bExtraBuff; inParam.TargetActor = inTargetActor; inParam.Instigator = base.actor; bool flag = skill.Use(base.actorPtr, ref inParam); if (!flag) { skill.Release(); } return(flag); }
public bool SpawnBuff(PoolObjHandle <ActorRoot> inTargetActor, SkillUseContext inContext, int inSkillCombineId, bool bExtraBuff = false) { if (((inTargetActor == 0) || (inContext == null)) || (inSkillCombineId <= 0)) { return(false); } BuffSkill skill = ClassObjPool <BuffSkill> .Get(); skill.Init(inSkillCombineId); skill.bExtraBuff = bExtraBuff; skill.skillContext.Copy(inContext); skill.skillContext.TargetActor = inTargetActor; skill.skillContext.Instigator = base.actor; bool flag = skill.Use(base.actorPtr); if (!flag) { skill.Release(); } return(flag); }
public bool SpawnBuff(PoolObjHandle <ActorRoot> inTargetActor, SkillUseContext inContext, int inSkillCombineId, ref BuffSkill newSkill, bool bExtraBuff = false) { if (!inTargetActor || inContext == null || inSkillCombineId <= 0) { newSkill = null; return(false); } BuffSkill buffSkill = ClassObjPool <BuffSkill> .Get(); buffSkill.Init(inSkillCombineId); buffSkill.bExtraBuff = bExtraBuff; buffSkill.skillContext.Copy(inContext); buffSkill.skillContext.TargetActor = inTargetActor; buffSkill.skillContext.Instigator = this.actor; newSkill = buffSkill; bool flag = buffSkill.Use(this.actorPtr); if (!flag) { buffSkill.Release(); newSkill = null; } return(flag); }