Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
        /// <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();
        }
Ejemplo n.º 3
0
    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();
            }
        }
    }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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();
            }
        }
    }
Ejemplo n.º 6
0
    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));
    }
Ejemplo n.º 7
0
 // 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;
         }
     }
 }
Ejemplo n.º 8
0
 public ViewConf GetConf(EView id)
 {
     foreach (ViewConf c in _confs)
     {
         if (c._viewType == id)
         {
             return(c);
         }
     }
     return(null);
 }
Ejemplo n.º 9
0
 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;
         }
     }
 }
Ejemplo n.º 10
0
    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));
    }
Ejemplo n.º 11
0
    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);
        }
    }
Ejemplo n.º 12
0
    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;
        }
    }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
 public void SetCurrentView(EView view, string title)
 {
     this.curView      = view;
     this.subPageTitle = title;
 }
Ejemplo n.º 15
0
 // Start is called before the first frame update
 void Start()
 {
     animationCurveTime = 0.0f;
     currentView        = EView.GAME;
     targetTabsPosition = m_RectTransform.anchoredPosition;
 }
Ejemplo n.º 16
0
 public void Open(EView view, ViewData viewData = null)
 {
     Open <BaseView>(view, viewData);
 }
Ejemplo n.º 17
0
 public ViewData(EView viewType)
 {
     _uid      = GetHashCode();
     _viewType = viewType;
 }
Ejemplo n.º 18
0
 public void SetAnimation(EView view)
 {
     _animationIndex = (byte)view;
 }