public ISkillTriger Clone() { ISkillTriger newObj = OnClone(); CopyTo(newObj); return(newObj); }
public ISkillTriger CreateTriger(Dsl.ISyntaxComponent trigerConfig, SkillInstance instance) { ISkillTriger triger = null; string type = trigerConfig.GetId(); ISkillTrigerFactory factory = GetFactory(type); if (null != factory) { try { triger = factory.Create(); triger.Init(trigerConfig, instance); } catch (Exception ex) { GameFramework.LogSystem.Error("triger:{0} line:{1} failed.", trigerConfig.ToScriptString(false), trigerConfig.GetLine()); throw ex; } } else { #if !DEBUG GameFramework.LogSystem.Error("CreateTriger failed, type:{0}", type); #endif } if (null != triger) { GameFramework.LogSystem.Debug("CreateTriger, type:{0} triger:{1}", type, triger.GetType().Name); } else { #if !DEBUG GameFramework.LogSystem.Error("CreateTriger failed, type:{0}", type); #endif } return(triger); }
// public void CopyTo(ISkillTriger newObj) { newObj.StartTime = StartTime; newObj.Name = Name; newObj.OrderInSkill = OrderInSkill; newObj.OrderInSection = OrderInSection; newObj.IsFinal = IsFinal; }
public ISkillTriger Clone() { ISkillTriger newObj = OnClone(); newObj.StartTime = StartTime; newObj.Name = Name; newObj.OrderInSkill = OrderInSkill; newObj.OrderInSection = OrderInSection; newObj.IsFinal = IsFinal; newObj.InitProperties(); return(newObj); }
public void Tick(object sender, SkillInstance instance, long delta) { m_CurTime += delta; int ct = m_Trigers.Count; for (int i = ct - 1; i >= 0; --i) { ISkillTriger triger = m_Trigers[i]; if (!triger.Execute(sender, instance, delta, m_CurTime / 1000)) { triger.Reset(); m_Trigers.RemoveAt(i); if (m_Trigers.Count == 0) { m_IsTriggered = false; } } } }
public ISkillTriger CreateTriger(ScriptableData.ISyntaxComponent trigerConfig) { ISkillTriger triger = null; string type = trigerConfig.GetId(); ISkillTrigerFactory factory = GetFactory(type); if (null != factory) { triger = factory.Create(trigerConfig); } else if (GlobalVariables.Instance.IsClient) { LogSystem.Error("CreateTriger failed, unkown type:{0}", type); } if (null != triger) { //DashFire.LogSystem.Debug("CreateTriger, type:{0} triger:{1}", type, triger.GetType().Name); } return(triger); }
private void RefreshTrigers(ScriptableData.FunctionData sectionData, int skillId) { m_LoadedTrigers.Clear(); for (int i = 0; i < sectionData.Statements.Count; i++) { ISkillTriger triger = SkillTrigerManager.Instance.CreateTriger(sectionData.Statements[i]); if (null != triger) { m_LoadedTrigers.Add(triger); } } /* * foreach (ScriptableData.ISyntaxComponent data in sectionData.Statements) { * ISkillTriger triger = SkillTrigerManager.Instance.CreateTriger(data); * if (null != triger) { * m_LoadedTrigers.Add(triger); * } * }*/ }
public void Tick(object sender, SkillInstance instance, long delta) { if (m_IsFinished) { return; } m_CurTime += delta; int ct = m_Trigers.Count; for (int i = ct - 1; i >= 0; --i) { ISkillTriger triger = m_Trigers[i]; if (!triger.Execute(sender, instance, delta, m_CurTime / 1000)) { triger.Reset(); m_Trigers.RemoveAt(i); } } if (m_CurTime / 1000 > m_Duration) { m_IsFinished = true; } }
//---------------------------------------------- public void AddUseImpactForInit(ISkillTriger trigger, int impactId, bool isExternalImpact) { int ct = m_UseImpactsForInit.Count; if (ct > 0) { SkillSectionOrMessageTriggers group = m_UseImpactsForInit[ct - 1]; if (null != group) { group.Triggers.Add(new TriggerInfo { Trigger = trigger, ImpactId = impactId, IsExternalImpact = isExternalImpact, IsEmitImpact = false }); } } }
public void AddImpactForInit(ISkillTriger trigger) { AddImpactForInit(trigger, 0, false); }
public void AddDamageForInit(ISkillTriger trigger) { int ct = m_DamagesForInit.Count; if (ct > 0) { SkillSectionOrMessageTriggers group = m_DamagesForInit[ct - 1]; if (null != group) { group.Triggers.Add(new TriggerInfo { Trigger = trigger, ImpactId = 0, IsExternalImpact = false, IsEmitImpact = false }); } } }