private void AddChildEvent() { if (this.layer >= MAX_LAYER) { return; } SkillUtils.InstanceEvent(SKILL_EVENT_TYPE.动作, skillInfo, this, layer + 1, 0); }
private void LayerDownEvent() { if (this.GetMaxLayer() >= MAX_LAYER) { return; } List <BaseSkillEvent> parentChildrenEventList = GetParentChildrenEventList(); int index = parentChildrenEventList.IndexOf(parent); BaseSkillEvent be = SkillUtils.InstanceEvent(SKILL_EVENT_TYPE.动作, skillInfo, parent, layer, index); parentChildrenEventList.Remove(this); be.childrenEvents.Add(this); this.parent = be; ChangeLayer(1); }
private void RefreshType() { if (lastType != eventType) { lastType = eventType; int index = GetParentChildrenEventList().IndexOf(this); BaseSkillEvent nbe = SkillUtils.InstanceEvent(eventType, skillInfo, parent, layer, index); for (int i = 0; i < this.childrenEvents.Count; ++i) { this.childrenEvents[i].parent = nbe; nbe.childrenEvents.Add(this.childrenEvents[i]); } DeleteEvent(); } }
public static BaseSkillEvent InstSkillEvent(BinaryReader br, SkillInfo info, BaseSkillEvent parent, int layer, int index) { SKILL_EVENT_TYPE eventType = (SKILL_EVENT_TYPE)br.ReadInt32(); BaseSkillEvent bse = SkillUtils.InstanceEvent(eventType, info, parent, layer, index); bse.time = br.ReadSingle(); bse.times = br.ReadInt32(); bse.interval = br.ReadSingle(); bse.actionTime = br.ReadSingle(); bse.key = bse.GetKey(); #if UNITY_EDITOR bse.lastType = eventType; #endif return(bse); }