/// <summary> /// 根据窗口类型尝试得到窗口实体 /// </summary> /// <param name="uIFormBase"></param> /// <returns></returns> private BaseUI ReturnFormByType(UIFormBaseType uIFormBase) { string formName = ReturnFormNameByType(uIFormBase); BaseUI _form = (ReturnChildTransformByName(transform, formName) != null) ? ReturnChildTransformByName(transform, formName).GetComponent <BaseUI>() : ResourcesManager.Instance.CreateUIForm(uIFormBase); return(_form); }
/// <summary> /// 删除窗口 /// </summary> /// <param name="uIFormBase"></param> public void DestroyUIFom(UIFormBaseType uIFormBase) { BaseUI uiForm = ReturnFormByType(uIFormBase); if (uiForm) { Destroy(uiForm.gameObject); } }
/// <summary> /// 隐藏窗口 /// </summary> /// <param name="uIFormBase"></param> public void HideUIForm(UIFormBaseType uIFormBase) { BaseUI uiForm = ReturnFormByType(uIFormBase); currentUIForm = null; if (uiForm.uiFormState) { uiForm.HideUI(); } }
/// <summary> /// 显示窗口 /// </summary> /// <param name="uIFormBase"></param> public void ShowUIForm(UIFormBaseType uIFormBase) { if (currentUIForm != null) { currentUIForm.HideUI(); } //得到窗口 currentUIForm = ReturnFormByType(uIFormBase); currentUIForm.ShowUI(); }
public BaseUI CreateUIForm(UIFormBaseType uIFormBase) { GameObject go = Resources.Load(ReturnPathByType(uIFormBase)) as GameObject; GameObject ui = Instantiate(go); ui.transform.parent = mycanvas.transform; ui.transform.position = Vector3.zero; ui.transform.eulerAngles = Vector3.zero; ui.transform.localScale = Vector3.one; ui.name = ui.name.Replace("(Clone)", ""); return(ui.GetComponent <BaseUI>()); }
///--------------------------------------------------------------------------------------------- ///--------------------------------------------------------------------------------------------- ///--------------------------------------------------------------------------------------------- private string ReturnPathByType(UIFormBaseType uIFormBase) { switch (uIFormBase) { case UIFormBaseType.StartUIForm: return(UIFormPath.StartUIFormPath); case UIFormBaseType.MainUIForm: return(UIFormPath.MainUIFormPath); default: return(null); } }
/// <summary> /// 根据窗口类型得到窗口名称 /// </summary> /// <param name="uIFormBase"></param> /// <returns></returns> private string ReturnFormNameByType(UIFormBaseType uIFormBase) { string formName = ""; switch (uIFormBase) { case UIFormBaseType.StartUIForm: formName = "StartUIForm"; break; case UIFormBaseType.MainUIForm: formName = "MainUIForm"; break; default: break; } return(formName); }