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(); * } */ }
static public void setHudPanelVisible(bool b) { UIBasePanel hudPanel = GetHUDBasePanel(); if (hudPanel != null) { if (b) { hudPanel.Show(); } else { hudPanel.Hide(); } } }
/// <summary> 현재 팝업이 삭제 될때 호출 UIMgr </summary> public void OnHideTopMenu() { if (TutoSupport != null && !TutoSupport.enabled && UIMgr.instance.IsActiveTutorial)//스킵이 가능한 튜토리얼일것이다. { if (SceneManager.instance.CurTutorial != TutoSupport.TutoType) { UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup"); if (basePanel != null) { SceneManager.instance.CurTutorial = SceneManager.instance.CurTutorial;//다음으로 넘김. basePanel.Hide(); } } } OpenEvent.SetEvent(false, () => { gameObject.SetActive(false); }); }
void OnDisable() { if (!UIMgr.instance.IsActiveTutorial || !IsEnable || IsOnClick || SceneManager.instance._CurTutorial != TutoType || SceneManager.instance.IsClearTutorial(TutoType)) { return; } Quest.MainTutorialInfo info = _LowDataMgr.instance.GetLowDataFirstMainTutorial((uint)TutoType, (byte)SortId); if (info.ProgressType != 1) { return; } SceneManager.instance.CurTutorial = TutoType;//다음으로 넘김. UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup"); if (basePanel != null && !basePanel.IsHidePanel) { basePanel.Hide(); } }
protected override void InitUI() { base.InitUI(); //인게임 HUD패널 생성 HudPanel = UIMgr.Open("UIPanel/InGameHUDPanel").GetComponent <InGameHUDPanel>(); if (TutorialGameState.IsTutorial) { //ChatPopup chat = UIMgr.OpenChatPopup(); UIBasePanel chat = UIMgr.GetUIBasePanel("UIPopup/ChatPopup"); if (chat != null) { chat.Hide(); } TutorialUI = UIMgr.OpenTutorialPopup((int)TutorialType.INGAME); //OnTutorial((InGameTutorialType)1); } // Debug.LogWarning("2JW : InitUI() In - " + HudPanel); }
public IEnumerator Hide(UIBasePanel panel) { yield return(panel.Hide()); Remove(panel); }
IEnumerator StateEvent(_STATE State, _ACTION Action) { WaitForSeconds waitfor = new WaitForSeconds(0.1f); while (true) { //< UI관련 로딩이 끝났을때까지 대기 if (TownState.IsUILoad && TownState.IsMapLoad)// && StructureMgr.instance.IsLoadSuccess) { yield return(waitfor); break; } yield return(null); } NetData.instance.bEventPopupCheck = false; //yield return waitfor; switch (Action) { case _ACTION.GO_TOWN: //마을로 이동 //UIMgr.OpenTown(); //yield return waitfor; //yield return waitfor; break; case _ACTION.GO_MAP: //해당 모드에 맞는 UI띄워준다. if (State == _STATE.ARENA_GAME) { UIMgr.OpenArenaPanel(); } else if (State == _STATE.FREEFIGHT_GAME) { UIMgr.OpenDogFight(); } else if (State == _STATE.COLOSSEUM) { UIMgr.OpenColosseumPanel(0); } //else if (State == _STATE.MULTI_RAID) // UIMgr.OpenSpecial(); //else if (State == _STATE.RAID_GAME) // UIMgr.OpenSpecial(); //else if (State == _STATE.SPECIAL_GAME) // UIMgr.OpenSpecial(); else if (State == _STATE.MULTI_RAID || State == _STATE.RAID_GAME || State == _STATE.SPECIAL_GAME) { UIMgr.OpenDungeonPanel(); } else if (State == _STATE.TOWER_GAME) { UIMgr.OpenTowerPanel(); } else { UIMgr.OpenChapter(null); } UIBasePanel townPanel = UIMgr.GetTownBasePanel(); if (townPanel != null) { townPanel.Hide(); } //UiOpenType = UI_OPEN_TYPE.NONE; break; default: //혹시 모를 예외처리. 원하는 처리 정의 해줘야함. //UIMgr.OpenTown(); //yield return waitfor; Debug.LogError(string.Format("UnDefined type {0} please defined", Action)); break; } //< 로비 액션이 끝났을때 처리할것들 yield return(new WaitForSeconds(0.1f)); ShowLoadingTipPanel(false); IsYieldAction = false; NetData.instance.bEventPopupCheck = true; yield return(null); }
public void Prev() { //if (ListUIPanel.Count < 2) //{ // OnPopupToastPanel("숨겨진 패널이 없습니다"); // return; //} UIBasePanel hidePanel = null; UIBasePanel showPanel = null; int hideIdx = ListUIPanel.FindIndex(panel => panel._ePanelType != ePanelState.Ignore && _CurUIBasePanel.name == panel.name); if (hideIdx >= 0 && ListUIPanel.Count > hideIdx) { hidePanel = ListUIPanel[hideIdx]; } // 뒤로 가기 막기 if (hidePanel is InGameHUDPanel) { return; } if (hidePanel is MainPanel || hidePanel is TitlePanel) { OpenPopup(DataMgr.Instance.GetLocal(5), DataMgr.Instance.GetLocal(6), delegate() { Application.Quit(); }, delegate() { }, DataMgr.Instance.GetLocal(3), DataMgr.Instance.GetLocal(4)); return; } int showIdx = ListUIPanel.FindIndex(hideIdx + 1, panel => panel._ePanelType != ePanelState.Ignore); if (showIdx >= 0 && ListUIPanel.Count > showIdx) { showPanel = ListUIPanel[showIdx]; } if (hidePanel != null) { switch (hidePanel.Prev()) { case PrevType.Not: break; case PrevType.OnlyHide: { hidePanel.Hide(); } break; case PrevType.Hide: { if (showPanel != null) { _CurUIBasePanel = showPanel; showPanel.LateInit(); } hidePanel.Hide(); } break; case PrevType.OnlyClose: { hidePanel.Close(); } break; case PrevType.Close: { if (showPanel != null) { _CurUIBasePanel = showPanel; showPanel.LateInit(); } hidePanel.Close(); } break; } } }
/* * /// <summary> * /// 모든 UI OFF * /// </summary> * static public void UIShutDown() * { * List<UIBasePanel> Panels = UIMgr.instance.FindAllInShowing<UIBasePanel>(); * foreach (UIBasePanel panel in Panels) * { * if (panel.ShowOption == ShowOption.Ignore) * continue; * * if (panel.Popup) * continue; * * panel.Hide(); * } * } */ /// <summary> /// 안드로이드, PC에서 뒤로가기 처리함수. /// 아직 좀더 만져줘야함. 주석처리 되어 있는건 기존의 것.(아직 삭제하면 않이됩니다.) /// 사용 방식은 PrevReturnType에 맞게 Close, Hide를 호출함. Not일 경우 ShowingPanels등록되어 있는거 삭제만함. /// 설정은 코드에서 Prev재정의 하거나, Prefab에서 변경해주면됨. /// </summary> public void Prev(int depth = 1) { if (SceneManager.instance.IsShowStaticUI) { return; } for (int i = 0; i < depth; ++i)//depth는 무조건 1일 것이다. { int hideIdx = ShowingPanels.FindIndex(i, (basePanel) => basePanel.ShowOption != ShowOption.Ignore); if (hideIdx < 0)//-1 값이 나올 경우가 존제함. 예외처리. { continue; } UIBasePanel curPanel = ShowingPanels[hideIdx]; if (!curPanel.gameObject.activeSelf) { if (depth == 1) { depth += 1; } continue; } /* * if (curPanel.name.Contains("TownPanel") || curPanel.name.Contains("LoginPanel") )//(EndPanel != null && EndPanel == ShowingPanels[hideIdx]) * { * //시스템 종료 팝업 * AddPopup(2, Application.Quit, null, null); * return; * } */ //< 뒤로가기가 가능할시에만 처리 //HideEvent, CloseEvent 함수에서 삭제 함수 호출함. 독특한 예외처리 필요치 않는 이상 신경안써도 됨. UIBasePanel hidePanel = ShowingPanels[hideIdx]; switch (hidePanel.Prev()) { //< 숨기기만 해줌 case PrevReturnType.None: case PrevReturnType.Hide: hidePanel.Hide(); break; case PrevReturnType.Close: hidePanel.Close(); break; case PrevReturnType.Quit: if (hidePanel.Quit()) { #if UNITY_EDITOR { AddPopup(75, 74, 117, 76, 0, () => { UnityEditor.EditorApplication.isPlaying = false; }); } #else AddPopup(75, 74, 117, 76, 0, () => { Application.Quit(); }); #endif } break; } } }
//해당 트리거를 체크하고 맞다면 다음 퀘스트로 이전/토크신을띄움 public Quest.QuestInfo CheckSubQuest(QuestSubType subtype, uint questObject) { var enumerator = QuestList.GetEnumerator(); while (enumerator.MoveNext()) { Quest.QuestInfo questInfo = _LowDataMgr.instance.GetLowDataQuestData(enumerator.Current.Value.unTaskId); if (questInfo != null) { if (enumerator.Current.Value.unComplete != 1) { //일단 토크만 처리 if (subtype == QuestSubType.NPCTALK) { if (questInfo.QuestType == (byte)QuestSubType.NPCTALK && questObject == questInfo.ParamId) { //체크상태가 맞음 QuestTalkSceneID을 활성화 종료시 SubQuestComplet(); 호출 //isNPC = false; if (questInfo.QuestTalkSceneID != 0) { //퀘스트 대화씬 열고 그이후에나 종료 //UIMgr.OpenMissionPanel(enumerator.Current.Value.unTaskId); } else { //퀘스트 완료 QuestComplet(enumerator.Current.Value.unTaskId); } return(questInfo); } } else if (subtype == QuestSubType.SINGLEGAMEPLAY) { if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMEPLAY && questObject == questInfo.ParamId) { //체크상태가 맞음 QuestTalkSceneID을 활성화 종료시 SubQuestComplet(); 호출 if (questInfo.QuestTalkSceneID != 0) { //UIMgr.OpenMissionPanel(enumerator.Current.Value.unTaskId); } else { QuestComplet(enumerator.Current.Value.unTaskId); } return(questInfo); } } else if (subtype == QuestSubType.SINGLEGAMECLEAR) { if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMECLEAR && questObject == questInfo.ParamId) { //체크상태가 맞음 QuestTalkSceneID을 활성화 종료시 SubQuestComplet(); 호출 if (questInfo.QuestTalkSceneID != 0) { //UIMgr.OpenMissionPanel(enumerator.Current.Value.unTaskId); if (TownState.TownActive)//소탕으로 클리어일 것이다. { UIBasePanel chapterPanel = UIMgr.GetUIBasePanel("UIPanel/ChapterPanel"); if (chapterPanel != null) { chapterPanel.Hide(); } } } else { QuestComplet(enumerator.Current.Value.unTaskId); } return(questInfo); } } } } } return(null); }
public override void Init() { base.Init(); for (int i = 0; i < NoticeGo.Length; i++) { NoticeGo[i].SetActive(false); } NoticeDelay = new float[NoticeLbl.Length]; for (int i = 0; i < NoticeLbl.Length; i++) { NoticeDelay[i] = 1; NoticeLbl[i].color = new Color32(255, 255, 255, 0); NoticeLbl[i].text = ""; } UIHelper.CreateEffectInGame(NoticeGo[(int)NoticeType.Contents].transform.FindChild("Effect"), "Fx_UI_new_contents_01"); EventDelegate.Set(NoticeGo[(int)NoticeType.Achiev].GetComponent <UIEventTrigger>().onClick,//업적페널 오픈. delegate() { if (AchieveType <= 0 || !TownState.TownActive) { AchieveType = 0; AchieveSubType = 0; AchieveLv = 0; NoticeGo[(int)NoticeType.Achiev].SetActive(false); return; } NoticeGo[(int)NoticeType.Achiev].SetActive(false); //AchieveType = 0; AchieveSubType = 0; AchieveLv = 0; if (uiMgr.IsActiveTutorial) //튜토리얼중 무시한다. { return; } UIBasePanel check = uiMgr.GetCurPanel(); if (check == null) { check = UIMgr.instance.GetSecondUI(); } if (check == null) { return; } if (check.name.Contains("AchievePanel")) //업적 페널에 있는데 업적이 갱신되서 클릭함 무시한다. { return; } if (check.name.Contains("TownPanel")) { check.Hide(); } else { check.ObjectHide(); } if (AchieveTabType == 0) { UIMgr.OpenAchievePanel(check, 0); } else { UIMgr.OpenAchievePanel(check, 1, (int)AchieveType); } if (_TownState != null && _TownState.MyHero != null) { _TownState.MyHero.ResetMoveTarget(); } }); for (int i = 0; i < GetMailSlotTf.Length; i++) { UIHelper.CreateInvenSlot(GetMailSlotTf[i].FindChild("root")); } EventDelegate.Set(NoticeGo[(int)NoticeType.Contents].transform.FindChild("Icon").GetComponent <UIEventTrigger>().onClick, () => { NoticeGo[(int)NoticeType.Contents].SetActive(false); if (TownState.TownActive) { UIBasePanel basePanel = uiMgr.GetCurPanel(); //UIMgr.UIType.Default if (basePanel == null) { basePanel = uiMgr.GetFirstUI(); if (basePanel == null) { basePanel = UIMgr.GetTownBasePanel(); } } if (basePanel != null) { if (!basePanel.name.Contains("TownPanel")) { if (basePanel.ReturnType == PrevReturnType.Close) { basePanel.Close(); } else { basePanel.Hide(); } } else if (!basePanel.IsHidePanel) { basePanel.OnSubTutorial(); } } } else { UIBasePanel resultPanel = UIMgr.GetUIBasePanel("UIPanel/ResultRewardStarPanel"); if (resultPanel != null) { (resultPanel as ResultRewardStarPanel).GotoTown(); } } }); }