예제 #1
0
        private void OnOpenUIHandle(ui.UISettings.UIWindowID uiID)
        {
            StartCoroutine(SetCanvasCamera());
            PlayerData playerdata = GameMainManager.Instance.playerData;

            if (playerdata.role != null && playerdata.GetRoleState(playerdata.role.id) != PlayerData.RoleState.Normal)
            {
                //return;
            }
            Debug.Log("打开面板" + uiID.ToString());
            config.GuideItem item = GetUnDisplayedGuideWithUIid(uiID, playerdata.questId);

            if (item != null)
            {
                guideStepID = item.id;
                Show(item);
            }
        }
예제 #2
0
        private config.GuideItem GetUnDisplayedGuideWithUIid(ui.UISettings.UIWindowID id, string questId)
        {
            config.GuideItem guide = null;
            questId = string.IsNullOrEmpty(questId)?"0":questId;
            //除了特殊情况 从配置表里遍历寻找没有展示过的 当前面板的引导
            List <config.GuideItem> allItems = GameMainManager.Instance.configManager.guideConfig.GetItemWithWindowName(id.ToString());
            List <config.GuideItem> list     = new List <config.GuideItem>();//步骤id 每个步骤起始引导的id

            if (allItems != null)
            {
                //查找每个步骤的起始id
                for (int i = 0; i < allItems.Count; i++)
                {
                    config.GuideItem item = allItems[i];
                    if (!string.IsNullOrEmpty(item.questId) && item.questId != questId)
                    {
                        continue;
                    }
                    if (i > 0)
                    {
                        config.GuideItem lastItem = allItems[i - 1];
                        if (lastItem.nextId == item.id)
                        {
                            continue;
                        }
                    }
                    list.Add(item);
                }
            }

            //找出没有展示过的引导
            for (int i = 0; i < list.Count; i++)
            {
                if (!displayedGuides.ContainsKey(list[i].id))
                {
                    guide = list[i];
                    break;
                }
            }
            if (guide == null)
            {
                return(null);
            }

            /*
             * //特殊处理
             * if (id == ui.UISettings.UIWindowID.UITaskWindow)
             * {
             *  config.QuestItem quest = GameMainManager.Instance.playerData.GetQuest();
             *  if (quest.type == config.QuestItem.QuestType.Branch && guide.id != "10014")
             *  {
             *      return null;
             *  }
             * }*/
            string displayedGuidesStr = "";

            foreach (string key in displayedGuides.Keys)
            {
                displayedGuidesStr += "[" + key + "]";
            }
            Debug.Log("@@@准备进行引导:" + guide.id + " 进行过的引导:" + displayedGuidesStr);
            return(guide);
        }
예제 #3
0
 private void OnCloseUIHandle(ui.UISettings.UIWindowID uiID)
 {
     Debug.Log("关闭面板" + uiID.ToString());
     //关闭ui时的处理
 }