/// <summary> /// 지정된 Panel을 열거나 끕니다. /// </summary> /// <param name="ePanel">Panel 이름의 Enum</param> /// <param name="bShow"></param> public CLASS_Panel DoShowHide_Panel(ENUM_Panel_Name ePanel, bool bShow) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(null); } if (bShow) { int iSortOrder = 0; if (pPanel.p_pPanel.p_bIsFixedSortOrder == false) { iSortOrder = CaculateSortOrder_Top(); } pPanel.DoShow(iSortOrder); } else { pPanel.DoHide(); } return(pPanel.p_pPanel); }
/// <summary> /// 지정된 Panel을 열거나 끕니다. /// </summary> /// <param name="ePanel">Panel 이름의 Enum</param> /// <param name="bShow"></param> public CLASS_Panel DoShowHide_Panel(ENUM_Panel_Name ePanel, bool bShow, System.Action OnFinishAnimation = null) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(null); } if (bShow) { int iSortOrder = 0; if (pPanel.p_pPanel.p_bIsFixedSortOrder == false) { iSortOrder = CaculateSortOrder_Top(); } _Stack_OpendPanel.Push(pPanel.p_pPanel); pPanel.DoShow(iSortOrder); } else { pPanel.DoHide(); } if (OnFinishAnimation != null) { pPanel.DoSetFinishAnimationEvent(OnFinishAnimation); } return(pPanel.p_pPanel); }
/// <summary> /// 지정된 Panel가 열려있으면 끄고, 꺼져있으면 켭니다. /// </summary> /// <param name="ePanel">Panel 이름의 Enum</param> /// <param name="bShow"></param> public CLASS_Panel DoShowHide_Panel_Toggle(ENUM_Panel_Name ePanel) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(null); } bool bShow = !pPanel.p_bIsShowCurrent; if (bShow) { int iSortOrder = 0; if (pPanel.p_pPanel.p_bIsFixedSortOrder == false) { iSortOrder = CaculateSortOrder_Top(); } _Stack_OpendPanel.Push(pPanel.p_pPanel); pPanel.DoShow(iSortOrder); } else { pPanel.DoHide(); } return(pPanel.p_pPanel); }
public bool DoCheckIsActive(ENUM_Panel_Name ePanel) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(false); } return(pPanel.p_bIsShowCurrent); }
public bool DoCheckIsPlayAnimation(ENUM_Panel_Name ePanel) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(false); } return(pPanel.p_bIsPlayingUIAnimation); }
/// <summary> /// UI Panel을 얻어옵니다. /// </summary> /// <returns></returns> public CLASS_Panel GetUIPanel(ENUM_Panel_Name ePanelName) { CUIPanelData pFindPanel = null; bool bResult = _mapPanelData.TryGetValue(ePanelName, out pFindPanel); if (bResult == false) { Debug.LogWarning(string.Format("{0}을 찾을 수 없습니다.", ePanelName)); } return(pFindPanel.p_pPanel); }
public CLASS_Panel DoShowHide_Panel_Force(ENUM_Panel_Name ePanel, bool bShow) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(null); } pPanel.SetActive(bShow); return(pPanel.p_pPanel); }
/// <summary> /// UI Panel을 얻어옵니다. /// </summary> /// <typeparam name="CUIPanel">얻고자 하는 Panel 타입</typeparam> /// <returns></returns> public CUIPanel GetUIPanel <CUIPanel>() where CUIPanel : CLASS_Panel { CUIPanelData pFindPanel = null; ENUM_Panel_Name strKey = typeof(CUIPanel).ToString().ConvertEnum <ENUM_Panel_Name>(); bool bResult = _mapPanelData.TryGetValue(strKey, out pFindPanel); if (bResult == false) { Debug.LogWarning(string.Format("{0}을 찾을 수 없습니다.", strKey)); } return(pFindPanel.p_pPanel as CUIPanel); }
/// <summary> /// 주의) Panel의 Hide Animation 이벤트가 호출되지 않습니다. /// </summary> /// <param name="bAlwaysShowHide"></param> public void DoHideAllPanel(params ENUM_Panel_Name[] arrPanelName_IgnoreHide_IfShow) { List <CUIPanelData> listPanelDataAll = _mapPanelData.Values.ToList(); for (int i = 0; i < listPanelDataAll.Count; i++) { CUIPanelData pUIPanelData = listPanelDataAll[i]; if (arrPanelName_IgnoreHide_IfShow.Contains(pUIPanelData.p_ePanelName) == false) { pUIPanelData.SetActive(false); } } }
public void DoShowPanel_FadeIn(ENUM_Panel_Name ePanel, float fFadeTime = 1f) { CUIPanelData pPanel = _mapPanelData[ePanel]; int iSortOrder = 0; if (pPanel.p_pPanel.p_bIsFixedSortOrder == false) { iSortOrder = CaculateSortOrder_Top(); } pPanel.EventSetOrder(iSortOrder); AutoFade.DoStartFade(fFadeTime, Color.black, pPanel.DoShow); }
public void DoChangePanel_FadeInout(ENUM_Panel_Name ePanelHide, ENUM_Panel_Name ePanelShow, float fFadeTime = 1f) { CUIPanelData pPanelHide = _mapPanelData[ePanelHide]; CUIPanelData pPanelShow = _mapPanelData[ePanelShow]; int iSortOrder = 0; if (pPanelShow.p_pPanel.p_bIsFixedSortOrder == false) { iSortOrder = CaculateSortOrder_Top(); } pPanelShow.EventSetOrder(iSortOrder); AutoFade.DoStartFade(fFadeTime, Color.black, pPanelHide.DoHide, pPanelShow.DoShow); }
/// <summary> /// UI Panel을 얻어옵니다. /// </summary> /// <typeparam name="CUIPanel">얻고자 하는 Panel 타입</typeparam> /// <returns></returns> public bool GetUIPanel <CUIPanel>(out CUIPanel pUIPanelOut) where CUIPanel : CLASS_Panel { CUIPanelData pFindPanel = null; ENUM_Panel_Name strKey = typeof(CUIPanel).ToString().ConvertEnum <ENUM_Panel_Name>(); bool bResult = _mapPanelData.TryGetValue(strKey, out pFindPanel); if (bResult == false) { pUIPanelOut = null; Debug.Log(string.Format("{0}을 찾을 수 없습니다.", strKey), this); } else { pUIPanelOut = pFindPanel as CUIPanel; } return(bResult); }
public CLASS_Panel DoShowHide_Panel_IgnoreSortOrder(ENUM_Panel_Name ePanel, bool bShow) { CUIPanelData pPanel = _mapPanelData[ePanel]; if (pPanel == null) { Debug.LogWarning(ePanel + "이 없습니다.. 하이어라키를 확인해주세요"); return(null); } if (bShow) { _Stack_OpendPanel.Push(pPanel.p_pPanel); } pPanel.SetActive(bShow); return(pPanel.p_pPanel); }
private int CaculateSortOrder_Top() { _iSortOrderTop = 0; List <CUIPanelData> listUIPanel = _mapPanelData.Values.ToList(); for (int i = 0; i < listUIPanel.Count; i++) { CUIPanelData pUIPanelData = listUIPanel[i]; if (pUIPanelData.p_pPanel.isActiveAndEnabled) { if (pUIPanelData.p_pPanel.p_bIsFixedSortOrder) { ++_iSortOrderTop; } else { pUIPanelData.DoShow(++_iSortOrderTop); } } } _iSortOrderTop += 1; return(_iSortOrderTop); }
public void DoHidePanel_FadeOut(ENUM_Panel_Name ePanel, float fFadeTime = 1f) { CUIPanelData pPanel = _mapPanelData[ePanel]; AutoFade.DoStartFade(fFadeTime, Color.black, pPanel.DoHide); }
public void DoHidePanel_FadeOut(ENUM_Panel_Name ePanel, System.Action OnFinishFadeOut, float fFadeTime = 1f) { CUIPanelData pPanel = _mapPanelData[ePanel]; AutoFade.DoStartFade(fFadeTime, Color.black, pPanel.DoHide_IgnoreAnimation, OnFinishFadeOut); }