Esempio n. 1
0
        public void NextTask()
        {
            if (curTask == null)
            {
                return;
            }

            IGuideManagerData data = curTask.GetIGuideTaskData();

            curTask = null;
            LoadUiResource.DestroyLoad(GameConstDefine.UIGuideRestPath);
            if (data.NextTaskId.ElementAt(0) == -1)
            {
                //ask all end
                HolyGameLogic.Instance.EmsgTocsAskFinishUIGuideTask(1, data.TaskId, 1);
                data = null;
                StartTriggerTask();
                SetTaskIsFinish(true, true);
                return;
            }
            // ask end
            HolyGameLogic.Instance.EmsgTocsAskFinishUIGuideTask(1, data.TaskId, 0);
            for (int i = 0; i < data.NextTaskId.Count; i++)
            {
                SetTaskId(data.NextTaskId.ElementAt(i));
            }
            data = null;
        }
Esempio n. 2
0
 public void StartTriggerTask()// start trigger task
 {
     triggerTaskList.Clear();
     for (int i = ConfigReader.ITriggerGuideManagerDatalXmlInfoDict.Count - 1; i >= 0; i--)
     {
         IGuideManagerData data = ConfigReader.ITriggerGuideManagerDatalXmlInfoDict.ElementAt(i).Value;
         if (IsTaskTriggered(data.TaskId))
         {
             continue;
         }
         IGuideTaskList task = new IGuideTriggerTaskList(data.TaskId);
         task.OnEnter();
         triggerTaskList.Add(task);
     }
 }
Esempio n. 3
0
 protected virtual void SetTaskData(int id)
 {
     taskId   = id;
     taskData = ConfigReader.GetIGuideManagerInfo(taskId);
 }
Esempio n. 4
0
 public IGuideTaskEffect(IGuideManagerData parentData, int id)
 {
     pData    = parentData;
     taskId   = id;
     taskData = ConfigReader.GetIGuideInfo(taskId);
 }
    public ReadIGuideTaskManagerConfig(string xmlFilePath)
    {
        //TextAsset xmlfile = Resources.Load(xmlFilePath) as TextAsset;
        ResourceItem xmlfileUnit = ResourcesManager.Instance.loadImmediate(xmlFilePath, ResourceType.ASSET);
        TextAsset    xmlfile     = xmlfileUnit.Asset as TextAsset;

        if (!xmlfile)
        {
            Debug.LogError(" error infos: 没有找到指定的xml文件:" + xmlFilePath);
        }

        xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlfile.text);

        XmlNodeList infoNodeList = xmlDoc.SelectSingleNode("UiTaskmanager").ChildNodes;

        for (int i = 0; i < infoNodeList.Count; i++)//(XmlNode xNode in infoNodeList)
        {
            if ((infoNodeList[i] as XmlElement).GetAttributeNode("id") == null)
            {
                continue;
            }

            string typeName = (infoNodeList[i] as XmlElement).GetAttributeNode("id").InnerText;

            IGuideManagerData managerInfo = new IGuideManagerData();
            managerInfo.TaskId        = Convert.ToInt32(typeName);
            managerInfo.IsTriggerTask = false;
            foreach (XmlElement xEle in infoNodeList[i].ChildNodes)
            {
                #region 搜索
                switch (xEle.Name)
                {
                case "sontaskid":
                    managerInfo.SonTaskList = GameMethod.ResolveToIntList(Convert.ToString(xEle.InnerText), ';');
                    break;

                case "trigger":
                    managerInfo.TriggerInterface = Convert.ToInt32(xEle.InnerText);
                    break;

                case "NextID":
                    managerInfo.NextTaskId = GameMethod.ResolveToIntList(Convert.ToString(xEle.InnerText), ';');
                    break;

                case "istrigger":
                    managerInfo.IsTriggerTask = (Convert.ToInt32(xEle.InnerText) == 1) ? true : false;
                    break;
                }
                #endregion
            }
            if (managerInfo.IsTriggerTask)
            {
                ConfigReader.iTriggerGuideManagerDatalXmlInfoDict.Add(managerInfo.TaskId, managerInfo);
            }
            else
            {
                ConfigReader.iGuideManagerDatalXmlInfoDict.Add(managerInfo.TaskId, managerInfo);
            }
        }
    }