/// <summary> 준비 팝업 열어줌 </summary> static public UIBasePanel OpenReadyPopup(GAME_MODE mode, UIBasePanel basePanel, int completeCount, int maxCount, uint stageId = 0) { string path = "UIPopup/ReadyPopup"; GameObject go = UIMgr.Open(path, mode, basePanel, completeCount, maxCount, stageId); return(go.GetComponent <UIBasePanel>()); }
/// <summary> 카테고리페널 열어 </summary> static public UIBasePanel OpenCategoryPanel(UIBasePanel prevPanel) { string path = "UIPanel/CategoryPanel"; GameObject go = Open(path, prevPanel); return(go.GetComponent <UIBasePanel>()); }
/// <summary> 소셜 페널 </summary> static public UIBasePanel OpenSocialPanel(int type, UIBasePanel reOpenPanel = null) { string path = "UIPanel/SocialPanel"; GameObject go = UIMgr.Open(path, type, reOpenPanel); return(go.GetComponent <UIBasePanel>()); }
/// <summary> 업적 페널 </summary> static public UIBasePanel OpenAchievePanel(UIBasePanel reOpenPanel, int tabType, int achieveType = 1) { string path = "UIPanel/AchievePanel"; GameObject go = UIMgr.Open(path, tabType, reOpenPanel, achieveType); return(go.GetComponent <UIBasePanel>()); }
/* * public Quest.QuestInfo GetCureentQuest() * { * var enumerator = QuestList.GetEnumerator(); * while (enumerator.MoveNext()) * { * * * return _LowDataMgr.instance.GetLowDataQuestData(enumerator.Current.Value.unTaskId); * } * } */ //퀘스트 완료후 처리해야할것들 - public void QuestCompleteAfterProcess(uint questID, bool success = false) { Quest.QuestInfo questInfo = _LowDataMgr.instance.GetLowDataQuestData(questID); if (questInfo != null) { if (questInfo.QuestType == (byte)QuestSubType.NPCTALK) { //아무일없다 } else if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMEPLAY) { //게임 시작 처리를 이어서 한다 (G_GameInfo._GameInfo as SingleGameInfo).OverrideGameStart(questID); } else if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMECLEAR) { if (TownState.TownActive) //소탕으로 클리어 후 { //토크씬이 나왔었다면 챕터페널이 닫혀있을것이다. 다시 열어준다. UIBasePanel chapterPanel = UIMgr.GetUIBasePanel("UIPanel/ChapterPanel"); if (chapterPanel != null) { UIMgr.OpenChapter(null); } } else { if (0 < (G_GameInfo.GameInfo as SingleGameInfo).QuestTalkId) { UIMgr.Open("UIPanel/ResultRewardStarPanel", true);//무조건 승리겠지?? 아니면 어떻게하지 } } } } //퀘스트가 없으면 그냥 리턴 }
/// <summary> 아이템 상세 팝업 </summary> static public ItemDetailPopup OpenDetailPopup(UIBasePanel basePanel, NetData._ItemData itemData = null, int depth = 3, bool isAutoQ = false) { string path = "UIPopup/DetailPopup"; GameObject go = Open(path, isAutoQ, depth, basePanel, itemData); return(go.GetComponent <ItemDetailPopup>()); }
private void SetNavigationStack(UIBasePanel mUIBasePanel) { if (mUIBasePanel == null) { Debug.LogError("[UI] page popup is null."); return; } if (!CheckIfNeedBack(mUIBasePanel)) { return; } //Debug.Log(mUIBasePanel.CacheGo.name); if (mNavigationStack.Count < 0) { return; } if (mNavigationStack.Count >= 1 && mNavigationStack.Peek().UIPageProperty.UIPath == mUIBasePanel.UIPageProperty.UIPath) { return; } if (mUIBasePanel.UIPageProperty.WindowMode == UIWindowMode.HideOther) { mNavigationStack.Peek().OnExit(); } mNavigationStack.Push(mUIBasePanel); }
public override void LateInit() { base.LateInit(); if (0 < parameters.Length) { ReOpenPanel = (UIBasePanel)parameters[0]; } if (mStarted) { List <Item.CategoryListInfo> list = _LowDataMgr.instance.GetLowDataCategoryList(); for (int i = 0; i < Scroll.childCount; i++) { Transform itemListTf = Scroll.GetChild(i).FindChild("ItemList"); List <string> itemIdList = list[i].ItemList.list; for (int j = 0; j < itemIdList.Count; j++) { uint itemid = uint.Parse(itemIdList[j]); SetItemSlot(itemid, itemListTf.GetChild(j)); } } TabGroup.CoercionTab(0); } OnSubTutorial(); }
public void OnPMsgChangeTitle(uint id) { if (uiMgr.IsActiveTutorial) { UIBasePanel tutoPopup = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup"); if (tutoPopup != null) { //(tutoPopup as TutorialPopup).OnEndNetwork("ApplyTitle"); Close(); return; } } Title.TitleInfo info = LowMgr.GetLowDataTitle(id); string titleName = LowMgr.GetLowDataTitleName(info.TitleName); if (info.Type == 1)//접두 { CurLeftTitle.text = titleName; } else//접미 { CurRightTitle.text = titleName; } SceneManager.instance.SetNoticePanel(NoticeType.Message, 0, string.Format(_LowDataMgr.instance.GetStringCommon(973), titleName)); CurTitle.text = string.Format("{0} {1}", CurLeftTitle.text, CurRightTitle.text);//합친거 }
IEnumerator WaitAndStartTutorial() { while (bAddtiveSceneLoadFinish == false) { yield return(null); } //ulong key = NetData.instance.GetUserInfo().GetCharUUID(); //if (PlayerPrefs.HasKey(string.Format("TutorialData_{0}.json", key))) //{ // PlayerPrefs.DeleteKey(string.Format("TutorialData_{0}.json", key)); //} //SceneManager.instance.CheckTutorial(); // condition check and do tutorial here. //SceneManager.instance.CurTutorial = TutorialType.INVEN_AUTO_EQUIP; UIBasePanel townPanel = UIMgr.GetTownBasePanel(); //SceneManager.instance.CurTutorial = TutorialType.CATEGORY; UIMgr.OpenNoticePanel(NoticeType.Max); if (!townPanel.IsHidePanel) { //SceneManager.instance.PopRecommendData(); (townPanel as TownPanel).OnEndStateLoad(); } UIMgr.instance.UICamera.enabled = true; }
// show / hide를 하면 lateInit()이 불러지므로 단순히 보이지 않게 하기 위해 위치를 바꾸어 카메라밖으로 이동시킨다. 아울러 터치도 먹지 않게 한다. static public void setTownPanelVisible(bool b) { UIBasePanel townPanel = GetTownBasePanel(); // if (townPanel != null) { // if (b){ // townPanel.Show(); // } // else{ // townPanel.Hide(); // } // } if (townPanel != null) { if (b) { townPanel.gameObject.transform.localPosition = new Vector3(0, 0, 0); } else { townPanel.gameObject.transform.localPosition = new Vector3(10000, 0, 0); } } }
public void HideDetail() { DetailMap.SetActive(false); SimpleMap.SetActive(true); SumSimpleMap.SetActive(true); UIBasePanel townPanel = UIMgr.GetTownBasePanel(); if (townPanel != null) { townPanel.gameObject.SetActive(true); } UIBasePanel hudPanel = UIMgr.GetHUDBasePanel(); if (hudPanel != null) { hudPanel.gameObject.SetActive(true); } UIBasePanel chatPopup = UIMgr.GetUIBasePanel("UIPopup/ChatPopup"); if (chatPopup != null) { chatPopup.gameObject.SetActive(true); } UIBasePanel joy = UIMgr.GetUIBasePanel("UIObject/Joystick", false); if (joy != null) { (joy as Joystick).SetJoyActive(true); } }
/// <summary> /// 타운모델이 NPC일때 세팅 /// 추후에 인자로 NPC데이터를 넘기고 클릭시에 해당 NPC가 취할수 있는 행동에 대한 판별부가 있어야함. /// 주로 튜토리얼과 임무와 관련이 깊음. /// 예) 황기영 클릭시 대화창이 뜨고 임무에 관한 간단한 스토리 전개 후 임무 진행 /// </summary> public void InitNpc(Collider _target, byte _Type, string _NPCName) { TargetCollider = _target; NPCType = _Type; NPCName = _NPCName; if (PathTf == null) { PathTf = transform.FindChild("PathTf"); if (PathTf == null)//그래도 없으면 자신. { PathTf = transform; } } //임시 NpcData //npcData = new NPCDATA(); //npcData.NpcId = npcId; //npcData.NpcName = "黄麒英"; //일단 모델타입이 NPC일때와 포탈일 경우로 구분하고 //펑션 타입을 정의해서 아래 클릭이벤트 들어오면 이벤트에 맞는 펑션 호출. //NPC일때는 NPC가 현재 가능한 액션정보를 찾아서 액션정보에 맞는 대화를 띄우거나 //포탈일때는 포탈의 종류에 맞는 UI를 호출하거 modelType = ModelType.MODEL_NPC; UIBasePanel townPanel = UIMgr.GetTownBasePanel(); if (townPanel != null) { (townPanel as TownPanel).CreateHeadObjet(gameObject, NPCName, 0, 0, false); } }
public void ClosePanel(UIBasePanel i_Panel) { if (i_Panel != null) { i_Panel.Close(); } }
public override int TakeDamage(Unit attacker, float damageRatio, float damage, float AddDamage, eAttackType atkType, bool isSkillDamage, AbilityData _ability, bool through = false, bool projecttile = false) { if (G_GameInfo.GameMode == GAME_MODE.SINGLE && !IsPartner)//플레이어만 체크 { int count = SingleGameState.StageQuestList.Count; for (int i = 0; i < count; i++) { if (SingleGameState.StageQuestList[i].CheckCondition(ClearQuestType.MINIMUM_HIT, 1)) { if (!SingleGameState.StageQuestList[i].IsClear)//다 맞았음 (망했음) { UIBasePanel panel = UIMgr.GetHUDBasePanel(); if (panel != null) { (panel as InGameHUDPanel).SetQuestStringColor(i, false); } } break;//횟수 증가함 더이상 조건문 돌지않는다. } } } int val = base.TakeDamage(attacker, damageRatio, damage, AddDamage, atkType, isSkillDamage, _ability, through, projecttile); return(val); }
private void UpdateOtherUIPanelState(UIBasePanel tmpUIPanel)//更新其它UI的状态(显示或者隐藏) { if (tmpUIPanel == null) { return; } if (tmpUIPanel.showMode == UIShowMode.M_HideAll) { foreach (KeyValuePair <UIPanelID, UIBasePanel> item in showedUIPanelDict)//遍历所有正在显示的UI { item.Value.Hide(); } showedUIPanelDict.Clear(); } else if (tmpUIPanel.showMode == UIShowMode.M_HideAllExceptAbove)//剔除最前面UI { foreach (KeyValuePair <UIPanelID, UIBasePanel> item in showedUIPanelDict) { if (item.Value.IsAlwaysAbove) { continue; } item.Value.Hide(); showedUIPanelDict.Remove(item.Key); // remove 后会使迭代器失效 break; } } }
/// <summary> 코스튬 페널 오픈 </summary> static public UIBasePanel OpenCostume(UIBasePanel basePanel = null) { string path = "UIPanel/CostumePanel"; GameObject go = UIMgr.Open(path, basePanel); return(go.GetComponent <UIBasePanel>()); }
public void OpenLoadingPanel(bool on) { if (LoadingPanel == null) { UIBasePanel panel = GetPanel("LoadingPanel"); if (panel == null) { panel = Open("LoadingPanel"); } if (panel != null) { LoadingPanel loading = panel.GetComponent <LoadingPanel>(); if (loading != null) { LoadingPanel = loading; } } } if (LoadingPanel != null) { if (on == false) { LoadingPanel.Close(); } else { LoadingPanel.LateInit(); } } }
/// <summary> /// 챕터 페널 오픈 /// </summary> static public UIBasePanel OpenChapter(UIBasePanel basePanel, uint openStageId = 0) { string chapterPath = "UIPanel/ChapterPanel"; GameObject go = UIMgr.Open(chapterPath, basePanel, openStageId); return(go.GetComponent <UIBasePanel>()); }
/// <summary> /// HeroPanel를 열어준다. 추후에 다른 경로를 통하여 아이템, 강화, 승급, 합성, 속성으로 가는 경로가있다면 /// 함수를 수정해 줘야 한다. /// </summary> static public UIBasePanel OpenEquipPanel(UIBasePanel reOpenPanel, bool AutoEquip = true) //자동장착에서 불러왔을때도 구분.. { string invenPath = "UIPanel/EquipmentPanel"; GameObject go = UIMgr.Open(invenPath, reOpenPanel, AutoEquip); return(go.GetComponent <UIBasePanel>()); }
/// <summary> /// 각 UIBasePanel의 ZTickness를 기반으로 Position만 갱신시키도록 한다. /// </summary> protected void AdjustShowPosition(UIBasePanel basePanel) { //float ZPos = 0; //UIBasePanel frontPanel = null; //ShowingPanels.ForEach( (p) => //{ // // 같은 패널이면 무시 // if (p == basePanel) // return; // // 현재 UIType과 같아야함. // if (p.UIType != basePanel.UIType) // return; // // ShowOption이 다르면 리턴 // if (p.ShowOption != basePanel.ShowOption) // return; // //if (ZPos >= p.transform.localPosition.z) // { // //ZPos = p.transform.localPosition.z; // frontPanel = p; // } //}); //if (null != basePanel) float ZPos = -basePanel.ZThickness;//ZPos basePanel.transform.SetLocalZ(ZPos); }
public void MissionLoad(bool isHideTown = false) { //UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPanel/TownPanel"); if (isHideTown) { UIBasePanel panel = UIMgr.GetTownBasePanel(); if (panel != null) { panel.Hide(); } //(basePanel as TownPanel).Hide(); } //미션데이터 초기화 _LowDataMgr.instance.InitializeMission(); /* * { * UIBasePanel panel = UIMgr.GetTownBasePanel(); * if (panel != null) * (panel as TownPanel).MissionListSetting(); * } */ }
private void PushPanel(string pageName, UIBasePanel pageInstance, Action callback, object pageData, bool isAsync) { if (string.IsNullOrEmpty(pageName) || pageInstance == null) { Debug.LogError("[UI] show page error with :" + pageName + " maybe null instance."); return; } if (mOpenedUIList.ContainsKey(pageName)) { mCurrPage = mOpenedUIList[pageName]; } else { mOpenedUIList.Add(pageName, pageInstance); mCurrPage = pageInstance; } if (pageData != null) { mCurrPage.SetData(pageData); } mCurrPage.OnEnter(); SetNavigationStack(mCurrPage); //if (isAsync) // curPanel.Show(callback); //else //DebugHelper.LogInfo(mNavigationStack.Count); }
internal void ShowPanel(string panelName, params object[] param) { if (_dictPanel.ContainsKey(panelName)) { if (IsPanelVisiable(panelName)) { return; } else { _dictPanel[panelName].gameObject.SetActive(true); } } else { UIBasePanel panel = Resources.Load <UIBasePanel>(string.Format("Prefabs/UI/{0}", panelName)); UIBasePanel initPanel = GameObject.Instantiate <UIBasePanel>(panel, _tranUIRoot); initPanel.gameObject.name = panelName; initPanel.transform.localScale = Vector3.one; initPanel.transform.localPosition = Vector3.zero; initPanel.Param = param; initPanel.Init(); _dictPanel.Add(panelName, initPanel); } }
// UIPanelsManager's methods public void OpenPanel(UIBasePanel i_Panel) { if (i_Panel != null) { i_Panel.Open(); } }
public void SetDepthAndRoot(UIBasePanel mPage) { AdjustPageDepth(mPage); switch (mPage.UIPageProperty.WindowStyle) { case UIWindowStyle.GameUI: mPage.CacheTrans.SetParent(GameUIRoot); break; case UIWindowStyle.Fixed: mPage.CacheTrans.SetParent(FixedWindowRoot); break; case UIWindowStyle.Normal: mPage.CacheTrans.SetParent(NormalWindowRoot); break; case UIWindowStyle.PopUp: mPage.CacheTrans.SetParent(PopupWindowRoot); break; default: break; } }
public void EndTutorial() { if (TutoSupport.TutoType != SceneManager.instance.CurTutorial) { return; } UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup"); if (basePanel == null) { return; } if ((basePanel as TutorialPopup).CurrentSortId - 1 != TutoSupport.SortId) { return; } //SceneManager.instance.CurTutorial = TutoSupport.TutoType;//다음으로 넘김. TutoSupport.enabled = false; TutoSupport.IsEnable = false; TutoSupport.TutoType = TutorialType.NONE; basePanel.Close(); }
// 패널을 연다 public UIBasePanel Open(string path, params object[] _parameters) { UIRootInit(); UIBasePanel panel = GetPanel(path); if (panel == null) { GameObject oPanel = (GameObject)Instantiate(Resources.Load("UI/" + path)); oPanel.name = path; oPanel.transform.parent = _Default; oPanel.transform.localPosition = Vector3.zero; oPanel.transform.localScale = Vector3.one; if (oPanel != null) { panel = oPanel.GetComponent <UIBasePanel>(); panel.Init(); } if (panel._ePanelType != ePanelState.None) { if (panel != null) { if (panel._ePanelType == ePanelState.Default) { ListUIPanel.Insert(0, panel); } else { ListUIPanel.Add(panel); } } } } else { // 리스트에서 가장 앞으로 옮긴다 if (panel._ePanelType != ePanelState.None) { ListUIPanel.Remove(panel); ListUIPanel.Insert(0, panel); } } // 파라미터 저장 panel.parameters = _parameters; if (panel._ePanelType == ePanelState.Default) { _CurUIBasePanel = panel; } panel.LateInit(); //for (int i = 0; i < ListUIPanel.Count; ++i) // Debug.Log(ListUIPanel[i].name); //Debug.Log("CurPanel : " + _CurUIBasePanel.name); return(panel); }
/// <summary> 아이템 상세 팝업 </summary> static public ItemDetailPopup OpenDetailPopup(UIBasePanel basePanel, uint itemLowData, int depth = 6, bool isAutoQ = false) { NetData._ItemData itemData = new NetData._ItemData(itemLowData, itemLowData, 0, 0, false); string path = "UIPopup/DetailPopup"; GameObject go = Open(path, isAutoQ, depth, basePanel, itemData); return(go.GetComponent <ItemDetailPopup>()); }
/// <summary> /// 加载面板 用于不适合放在栈内的面板 /// 和ShowPanel,HidePanel一起使用 /// </summary> public UIBasePanel LoadPanel(UIPanelType panelType) { UIBasePanel panel = GetPanel(panelType); panel.HidePanel(); return(panel); }