コード例 #1
0
        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);
        }
コード例 #2
0
 public void RegisterTrigerFactory(string type, ISkillTrigerFactory factory)
 {
     if (!m_TrigerFactories.ContainsKey(type)) {
         m_TrigerFactories.Add(type, factory);
     } else {
         //error
     }
 }
コード例 #3
0
 public void RegisterTrigerFactory(string type, ISkillTrigerFactory factory)
 {
     if (!m_TrigerFactories.ContainsKey(type))
     {
         m_TrigerFactories.Add(type, factory);
     }
     else
     {
         //error
     }
 }
コード例 #4
0
 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
     }
 }
コード例 #5
0
        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);
        }
コード例 #6
0
 public void RegisterTrigerFactory(string type, ISkillTrigerFactory factory)
 {
     RegisterTrigerFactory(type, factory, false);
 }