private void Load(ScriptableData.ScriptableDataFile dataFile, int sceneId)
 {
     lock (m_oLock)
     {
         foreach (var info in dataFile.ScriptableDatas)
         {
             if (info.GetId() == "story" || info.GetId() == "script")
             {
                 ScriptableData.FunctionData funcData = info.First;
                 if (funcData != null)
                 {
                     ScriptableData.CallData callData = funcData.Call;
                     if (callData != null && callData.HaveParam())
                     {
                         int storyId = int.Parse(callData.GetParamId(0));
                         int id      = GetId(storyId, sceneId);
                         if (!m_dicStoryInstance.ContainsKey(id))
                         {
                             StoryInstance instance = new StoryInstance();
                             instance.Init(info);
                             m_dicStoryInstance.Add(id, instance);
                         }
                         else
                         {
                         }
                     }
                 }
             }
         }
     }
 }
Пример #2
0
        private void Load(ScriptableData.ScriptableDataFile dataFile, int type)
        {
            lock (m_Lock)
            {
                for (int i = 0; i < dataFile.ScriptableDatas.Count; i++)
                {
                    if (dataFile.ScriptableDatas[i].GetId() == "skill" || dataFile.ScriptableDatas[i].GetId() == "script")
                    {
                        ScriptableData.FunctionData funcData = dataFile.ScriptableDatas[i].First;
                        if (null != funcData)
                        {
                            ScriptableData.CallData callData = funcData.Call;
                            if (null != callData && callData.HaveParam())
                            {
                                int storyId = int.Parse(callData.GetParamId(0));
                                int id      = GenId(storyId, type);
                                if (!m_Instances.ContainsKey(id))
                                {
                                    Instance instance = new Instance();
                                    instance.Init(dataFile.ScriptableDatas[i]);
                                    m_Instances.Add(id, instance);

                                    LogUtil.Debug("ParseStory {0}", id);
                                }
                                else
                                {
                                    //repeated story config.
                                }
                            }
                        }
                    }
                }
            }
        }
Пример #3
0
        private void Load(ScriptableData.ScriptableDataFile dataFile)
        {
            lock (m_Lock)
            {
                for (int i = 0; i < dataFile.ScriptableDatas.Count; i++)
                {
                    if (dataFile.ScriptableDatas[i].GetId() == "skill")
                    {
                        ScriptableData.FunctionData funcData = dataFile.ScriptableDatas[i].First;
                        if (null != funcData)
                        {
                            ScriptableData.CallData callData = funcData.Call;
                            if (null != callData && callData.HaveParam())
                            {
                                int id = int.Parse(callData.GetParamId(0));
                                if (!m_SkillInstances.ContainsKey(id))
                                {
                                    SkillInstance instance = new SkillInstance();
                                    instance.Init(dataFile.ScriptableDatas[i]);
                                    m_SkillInstances.Add(id, instance);

                                    LogSystem.Debug("ParseSkill {0}", id);
                                }
                                //else
                                //{
                                //repeated skill config.
                                //}
                            }
                        }
                    }
                }

                /*
                 * foreach (ScriptableData.ScriptableDataInfo info in dataFile.ScriptableDatas) {
                 * if (info.GetId() == "skill") {
                 *  ScriptableData.FunctionData funcData = info.First;
                 *  if (null != funcData) {
                 *    ScriptableData.CallData callData = funcData.Call;
                 *    if (null != callData && callData.HaveParam()) {
                 *      int id = int.Parse(callData.GetParamId(0));
                 *      if (!m_SkillInstances.ContainsKey(id)) {
                 *        SkillInstance instance = new SkillInstance();
                 *        instance.Init(info);
                 *        m_SkillInstances.Add(id, instance);
                 *
                 *        LogSystem.Debug("ParseSkill {0}", id);
                 *      } else {
                 *        //repeated skill config.
                 *      }
                 *    }
                 *  }
                 * }
                 * }*/
            }
        }
Пример #4
0
        public bool Init(ScriptableData.ScriptableDataFile config)
        {
            AddMessageHandler("start", config.OnStart);
            AddMessageHandler("npcstore", config.OnNpcStore);
            AddMessageHandler("cityusermove", config.OnCityUserMove);
            AddMessageHandler("objarrived", config.OnObjArrived);
            AddMessageHandler("cityplayermove", config.OnCityPlayerMove);
            AddMessageHandler("playermovetopos", config.OnPlayerMoveToPos);
            AddMessageHandler("aimovestopped", config.OnAiMoveStop);

            return(true);
        }
Пример #5
0
        public void LoadSkillText(string text)
        {
            ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
#if !RELEASE
            if (dataFile.LoadFromString(text, "skill"))
            {
                Load(dataFile);
            }
#else
            dataFile.LoadObfuscatedCode(text, GlobalVariables.Instance.DecodeTable);
            Load(dataFile);
 #endif
        }
        public void LoadStoryText(string text, int sceneId)
        {
            ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
#if true
            if (dataFile.LoadFromString(text, "story"))
            {
                Load(dataFile, sceneId);
            }
#else
            dataFile.LoadObfuscatedCode(text, GlobalVariables.Instance.DecodeTable);
            Load(dataFile, sceneId);
#endif
        }
Пример #7
0
 public void LoadText(string text, int sceneId)
 {
     ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
     if (dataFile.LoadFromString(text, "story"))
     {
         Load(dataFile, sceneId);
     }
     //#if DEBUG
     //#else
     //      dataFile.LoadObfuscatedCode(text, GlobalVariables.Instance.DecodeTable);
     //      Load(dataFile, sceneId);
     //#endif
 }
 /// <summary>
 /// 加载剧情,根据配置文件
 /// </summary>
 /// <param name="file"></param>
 /// <param name="sceneId"></param>
 public void LoadStory(string file, int sceneId)
 {
     if (!string.IsNullOrEmpty(file))
     {
         ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
         if (dataFile.Load(file))
         {
             Load(dataFile, sceneId);
         }
         else
         {
             Debug.Log("不能读取DSL文件");
         }
     }
 }
Пример #9
0
        public void LoadSkill(string file)
        {
            if (!string.IsNullOrEmpty(file))
            {
                ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
#if !RELEASE
                if (dataFile.Load(file))
                {
                    Load(dataFile);
                }
#else
                dataFile.LoadObfuscatedFile(file, GlobalVariables.Instance.DecodeTable);
                Load(dataFile);
#endif
            }
        }
Пример #10
0
 public void Load(string file, int type)
 {
     if (!string.IsNullOrEmpty(file))
     {
         ScriptableData.ScriptableDataFile dataFile = new ScriptableData.ScriptableDataFile();
         if (dataFile.Load(file))
         {
             Load(dataFile, type);
         }
         //#if DEBUG
         //#else
         //        dataFile.LoadObfuscatedFile(file, GlobalVariables.Instance.DecodeTable);
         //        Load(dataFile, sceneId);
         //#endif
     }
 }
        private void Load(ScriptableData.ScriptableDataFile dataFile, int sceneId)
        {
            lock (m_Lock)
            {
#if false
                for (int i = 0; i < dataFile.ScriptableDatas.Count; i++)
                {
                    if (dataFile.ScriptableDatas[i].GetId() == "story" || dataFile.ScriptableDatas[i].GetId() == "script")
                    {
                        ScriptableData.FunctionData funcData = dataFile.ScriptableDatas[i].First;
                        if (null != funcData)
                        {
                            ScriptableData.CallData callData = funcData.Call;
                            if (null != callData && callData.HaveParam())
                            {
                                int storyId = int.Parse(callData.GetParamId(0));
                                int id      = GenId(storyId, sceneId);
                                if (!m_StoryInstances.ContainsKey(id))
                                {
                                    StoryInstance instance = new StoryInstance();
                                    instance.Init(dataFile.ScriptableDatas[i]);
                                    m_StoryInstances.Add(id, instance);

                                    LogSystem.Debug("ParseStory {0}", id);
                                }
                                else
                                {
                                    //repeated story config.
                                }
                            }
                        }
                    }
                }
#else
                int id = GenId(1, sceneId);
                if (!m_StoryInstances.ContainsKey(id))
                {
                    StoryInstance instance = new StoryInstance();
                    instance.Init(dataFile);
                    m_StoryInstances.Add(id, instance);
                }
#endif

                /*
                 * foreach (ScriptableData.ScriptableDataInfo info in dataFile.ScriptableDatas) {
                 * if (info.GetId() == "story" || info.GetId() == "script") {
                 *  ScriptableData.FunctionData funcData = info.First;
                 *  if (null != funcData) {
                 *    ScriptableData.CallData callData = funcData.Call;
                 *    if (null != callData && callData.HaveParam()) {
                 *      int storyId = int.Parse(callData.GetParamId(0));
                 *      int id = GenId(storyId, sceneId);
                 *      if (!m_StoryInstances.ContainsKey(id)) {
                 *        StoryInstance instance = new StoryInstance();
                 *        instance.Init(info);
                 *        m_StoryInstances.Add(id, instance);
                 *
                 *        LogSystem.Debug("ParseStory {0}", id);
                 *      } else {
                 *        //repeated story config.
                 *      }
                 *    }
                 *  }
                 * }
                 * }*/
            }
        }