void SetViewIconAndPanel(EView view) { switch (view) { case EView.SHOP: shop.sprite = shopSpriteSelected; shopPanel.gameObject.SetActive(true); GUIManager.UpdateStoreItems(); break; case EView.UPGRADES: upgrades.sprite = upgradesSpriteSelected; upgradesPanel.gameObject.SetActive(true); GUIManager.UpdateUpgrades(); GUIManager.ClearUpgradeNotification(); break; case EView.STATS: stats.sprite = statsSpriteSelected; statsPanel.gameObject.SetActive(true); break; case EView.EXTRA: extra.sprite = extraSpriteSelected; extraPanel.gameObject.SetActive(true); break; } }
/// <summary> /// 总览 /// </summary> private void drawOverview() { ABMainChecker mainCheckr = ABMainChecker.MainChecker; GUILayout.BeginHorizontal(); if (GUILayout.Button(string.Format("总资源数:{0}", mainCheckr.BundleList.Count), GUILayout.Height(50))) { scrollPos = Vector2.zero; curView = EView.ALLAsset; } if (GUILayout.Button(string.Format("冗余资源数:{0}", redundancyDic.Count), GUILayout.Height(50))) { scrollPos = Vector2.zero; redundancyList = redundancyDic.Values.ToList(); redundancyList.Sort((x, y) => (new CaseInsensitiveComparer()).Compare(x.BundleName, y.BundleName)); curView = EView.RedundancyAssets; } if (GUILayout.Button(string.Format("丢失AB数:{0}", mainCheckr.MissingRes.Count), GUILayout.Height(50))) { scrollPos = Vector2.zero; selectAsset = ""; mainCheckr.MissingRes.Sort((x, y) => (new CaseInsensitiveComparer()).Compare(x.Name, y.Name)); curView = EView.MissingAsset; } GUILayout.EndHorizontal(); }
void GoToView(EView view) { if (currentView != view) { if (view == EView.GAME) { sourceTabsPosition = m_RectTransform.anchoredPosition; targetTabsPosition = closedPosition; DataManager.InGame = true; } else { ResetIconsAndPanels(); SetViewIconAndPanel(view); sourceTabsPosition = m_RectTransform.anchoredPosition; targetTabsPosition = openedPosition; DataManager.InGame = false; } animationCurveTime = transitionTime; currentView = view; m_AudioSource.Play(); } else { // Clicking back if (view != EView.GAME) { GoToGameView(); } } }
public T Open <T>(EView view, ViewData viewData = null) where T : BaseView { //Write("Before Open"); var v = Get <T>(view); // 这个viewData是外来参数,如果设置了就更新数据,如果没设置就使用旧数据 if (viewData != null) { v._viewData.SetData(viewData); } if (!_openedViews.Contains(v)) { v.Open(); } // 已经打开了 else { if (v._viewData._permitReopen) { v.Close(); v.Open(); } else { Debug.LogError(string.Format("the view with type {0} is already opened! ", view)); } } //Write("After Open"); object obj = v; return((T)v); }
public void CloseOther(EView exceptType, int exceptId) { // 将需要删除的加入表中 var viewsNeedToBeRemove = new List <BaseView>(); for (int i = 0, length = _openedViews.Count; i < length; i++) { var o = _openedViews[i]; if (o._viewData._viewType != exceptType && o._viewData._uid == exceptId) { viewsNeedToBeRemove.Add(o); } } // 遍历表,执行删除操作 for (int i = 0, length = viewsNeedToBeRemove.Count; i < length; i++) { var v = viewsNeedToBeRemove[i]; var o = _openedViews.Find((BaseView temp) => temp == v); if (o != null) { _openedViews.Remove(o); o.Close(); } } }
public T Get <T>(EView view) where T : BaseView { // 如果对应窗口已经创建,那么使用已经创建了的窗口 for (int i = 0, length = _createdViews.Count; i < length; i++) { var v = _createdViews[i]; if (v._viewData._viewType == view) { object o = v; return((T)o); } } // 如果没有窗口就创建一个 var conf = ServerManager.Instance._viewLib.GetConf(view); if (conf != null) { var v = GameObject.Instantiate(conf._prefab); v.transform.SetParent(_viewParent); var viewData = new ViewData(view); viewData.SetData(conf); v._viewData = viewData; v.GetComponent <Canvas>().sortingOrder = v._viewData._sortOrder; v.onClose += _Close; v.onOpen += _Open; _createdViews.Add(v); // 窗口的默认状态是关闭 _closedViews.Add(v); v.Close(); object o = v; return((T)o); } return(default(T)); }
// UI内部执行Close就执行这里 void _Close(EView view, int uid) { for (int i = 0, length = _openedViews.Count; i < length; i++) { var v = _openedViews[i]; if (v._viewData._viewType == view && v._viewData._uid == uid ) { if (!_closedViews.Contains(v)) { _closedViews.Add(v); } else { Debug.LogError(string.Format("the view with type {0} is already closed! ", view)); } if (_openedViews.Contains(v)) { _openedViews.Remove(v); } break; } } }
public ViewConf GetConf(EView id) { foreach (ViewConf c in _confs) { if (c._viewType == id) { return(c); } } return(null); }
public void Close(EView view, int uid = 0) { for (int i = 0, length = _openedViews.Count; i < length; i++) { var v = _openedViews[i]; if (v._viewData._viewType == view //&& v._viewData._uid == uid ) { v.Close(); break; } } }
public T Open <T>(EView view, bool isCloseOther = true) where T : BaseView { if (isCloseOther) { CloseAll(); } switch (view) { case EView.Start: _startView.Open(); object obj = _startView; return((T)obj); case EView.End: _endView.Open(); obj = _endView; return((T)obj); case EView.HUD: _hudView.Open(); obj = _hudView; return((T)obj); case EView.Win: _winView.Open(); obj = _winView; return((T)obj); case EView.Plot: _plotView.Open(); obj = _plotView; return((T)obj); case EView.Popup: _popupView.Open(); obj = _popupView; return((T)obj); case EView.Message: _msgView.Open(); obj = _msgView; return((T)obj); } return(default(T)); }
void _Open(EView view, int uid) { var v = Get <BaseView>(view); if (v._viewData._isCloseOther) { CloseAll(); } if (!_openedViews.Contains(v)) { _openedViews.Add(v); } if (_closedViews.Contains(v)) { _closedViews.Remove(v); } }
public void Open(EView view, bool isCloseOther = true) { if (isCloseOther) { CloseAll(); } switch (view) { case EView.Start: _startView.Open(); break; case EView.End: _endView.Open(); break; case EView.HUD: _hudView.Open(); break; case EView.Win: _winView.Open(); break; case EView.Plot: _plotView.Open(); break; case EView.Popup: _popupView.Open(); break; case EView.Message: _msgView.Open(); break; } }
private void OnGUI() { switch (curView) { case EView.OverView: overview.OnGUI(); break; default: GUILayout.BeginHorizontal(); if (GUILayout.Button("< Back", GUILayout.Width(100), GUILayout.Height(30))) { curView = EView.OverView; } GUILayout.Label(subPageTitle, titleLabStyle); GUILayout.Space(100); GUILayout.EndHorizontal(); GUILayout.Space(10); NGUIEditorTools.DrawSeparator(); break; } switch (curView) { case EView.BundleDetailView: bundleDetailView.OnGUI(); break; case EView.AssetDistributeView: assetView.OnGUI(); break; } GUILayout.Space(10); }
public void SetCurrentView(EView view, string title) { this.curView = view; this.subPageTitle = title; }
// Start is called before the first frame update void Start() { animationCurveTime = 0.0f; currentView = EView.GAME; targetTabsPosition = m_RectTransform.anchoredPosition; }
public void Open(EView view, ViewData viewData = null) { Open <BaseView>(view, viewData); }
public ViewData(EView viewType) { _uid = GetHashCode(); _viewType = viewType; }
public void SetAnimation(EView view) { _animationIndex = (byte)view; }