private static void SkillFuncChangeSkillCDImpl(ref SSkillFuncContext inContext, int changeType, int slotMask, int value) { PoolObjHandle <ActorRoot> inTargetObj = inContext.inTargetObj; if (inTargetObj != 0) { SkillComponent skillControl = inTargetObj.handle.SkillControl; if (skillControl != null) { SkillSlot slot = null; for (int i = 0; i < 7; i++) { if (((((slotMask == 0) && (i != 0)) && ((i != 4) && (i != 5))) || ((slotMask & (((int)1) << i)) > 0)) && (skillControl.TryGetSkillSlot((SkillSlotType)i, out slot) && (slot != null))) { if (changeType == 0) { slot.ChangeSkillCD(value); } else { slot.ChangeMaxCDRate(value); } } } } } }
public override void Leave(Action _action, Track _track) { base.Leave(_action, _track); this.targetActor = _action.GetActorHandle(this.targetId); if (!this.targetActor) { if (ActionManager.Instance.isPrintLog) { } return; } this.skillControl = this.targetActor.handle.SkillControl; if (this.skillControl == null) { if (ActionManager.Instance.isPrintLog) { } return; } SkillSlot skillSlot = null; if (!this.useSlotType) { this.StartSkillContextCD(_action, ref skillSlot); } else { this.StartSkillSlotCD(ref skillSlot); } if (skillSlot != null && this.bAbortReduce && _track.curTime <= base.End && !_track.Loop) { skillSlot.ChangeSkillCD(this.abortReduceTime); } }
private static void SkillFuncChangeSkillCDImpl(ref SSkillFuncContext inContext, int changeType, int slotMask, int value) { PoolObjHandle <ActorRoot> inTargetObj = inContext.inTargetObj; if (inTargetObj) { SkillComponent skillControl = inTargetObj.get_handle().SkillControl; if (skillControl != null) { SkillSlot skillSlot = null; for (int i = 0; i < 10; i++) { if (((slotMask == 0 && i != 0 && i != 4 && i != 5 && i != 7) || (slotMask & 1 << i) > 0) && skillControl.TryGetSkillSlot((SkillSlotType)i, out skillSlot) && skillSlot != null) { if (changeType == 0) { skillSlot.ChangeSkillCD(value); } else { skillSlot.ChangeMaxCDRate(value); } } } } } }