private GHUD GenHUD(HUDType a_HUDType) { HUDInfo hudInfo = DbMgr.s_Instance.GetHUDInfo(a_HUDType); if (hudInfo == null) { return(null); } GameObject hudPref = Resources.Load <GameObject>(hudInfo.m_PrefPath); if (hudPref == null) { return(null); } // instantiate & init new HUD GameObject hudObj = Instantiate(hudPref, transform); GHUD gHUD = hudObj.GetComponent <GHUD>(); gHUD.OnCreateObj(); gHUD.Init(hudInfo); m_lHUD.Add(gHUD); return(gHUD); }
// ================================== PRIVATE FUNCS ================================== #region Private Funcs private bool GenScene(SceneType a_sceneType) { SceneInfo sceneInfo = DbMgr.s_Instance.GetSceneInfo(a_sceneType); if (sceneInfo == null) { return(false); } GameObject scenePref = Resources.Load <GameObject>(sceneInfo.m_PrefPath); if (scenePref == null) { return(false); } // destroy old scene (if had) if (m_CurGScene) { m_CurGScene.OnDestroyObj(); } // instantiate & init new scene GameObject sceneObj = Instantiate(scenePref, transform); m_CurGScene = sceneObj.GetComponent <GScene>(); m_CurGScene.OnCreateObj(); // add HUD GHUD gHUD = GenHUD(sceneInfo); m_CurGScene.Init(sceneInfo, gHUD); return(true); }
public void OnUpdate(float a_dt) { for (int i = 0; i < m_lHUD.Count; i++) { GHUD gHUD = m_lHUD[i]; gHUD.OnUpdateObj(a_dt); } }
public void DisableGHUD(HUDType a_HUDType) { GHUD ghud = GetHUD(a_HUDType); if (ghud != null) { ghud.SetActive(false); } }
// ================================== PRIVATE FUNCS ================================== #region Private Funcs private GHUD GetHUD(HUDType a_HUDType) { for (int i = 0; i < m_lHUD.Count; i++) { GHUD ghud = m_lHUD[i]; if (ghud.GetHUDInfo().m_HUDType == a_HUDType) { return(ghud); } } return(null); }
private void DestroyHUD(int a_Index) { if (a_Index >= m_lHUD.Count) { return; } GHUD gHUD = m_lHUD[a_Index]; gHUD.OnDestroyObj(); m_lHUD.RemoveAt(a_Index); }
// ================================== PUBLIC FUNCS ================================== #region Public Funcs public void OnButtonClick() { // show || hide STORY MAP if (m_StoryMap) { m_StoryMap.SetActive(!m_StoryMap.IsActive()); } // gen STORY MAP else { // instantiate vs parent transform is CANVAS m_StoryMap = HUDMgr.s_Instance.GenHUD(HUDMgr.HUDType.HUD_StoryMap); } // disable BOOK in case it opened if (m_StoryMap.IsActive()) { if (HUDMgr.s_Instance.IsGHUDAvailable(HUDMgr.HUDType.HUD_Book)) { HUDMgr.s_Instance.DisableGHUD(HUDMgr.HUDType.HUD_Book); } } }
// override GScene public override void Init(SceneInfo a_SceneInfo, GHUD a_GHUD) { base.Init(a_SceneInfo, a_GHUD); Init(); }
public override void Init(GHUD a_HUD) { base.Init(a_HUD); }
// ================================== PUBLIC FUNCS ================================== #region Public Funcs public virtual void Init(SceneInfo a_SceneInfo, GHUD a_GHUD) { m_SceneInfo = a_SceneInfo; Ref_GHUD = a_GHUD; }
// ================================== PUBLIC FUNCS ================================== #region Public Funcs public virtual void Init(GHUD a_HUD) { Ref_GHUD = a_HUD; }
public bool IsGHUDAvailable(HUDType a_HUDType) { GHUD ghud = GetHUD(a_HUDType); return(ghud != null ? true : false); }