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 RegisterTrigerFactory(string type, ISkillTrigerFactory factory) { if (!m_TrigerFactories.ContainsKey(type)) { m_TrigerFactories.Add(type, factory); } else { //error } }
public void RegisterTrigerFactory(string type, ISkillTrigerFactory factory, bool replace) { if (!m_TrigerFactories.ContainsKey(type)) { m_TrigerFactories.Add(type, factory); } else if (replace) { //允许重载触发器 m_TrigerFactories[type] = factory; } else { //error } }
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); }
public void RegisterTrigerFactory(string type, ISkillTrigerFactory factory) { RegisterTrigerFactory(type, factory, false); }