Example #1
0
 public override void OnEnter()
 {
     CurItem = new TabPanelItem
                   {
                       UiSprite = ToggleItems[DefaultItemIndex].UiSprite,
                       Window = WindowManager.Instance.GetWindow(Utils.PrefabNameToWindow(ToggleItems[DefaultItemIndex].Window.name)),
                       ItemIndex = ToggleItems[DefaultItemIndex].ItemIndex
                   };
     CurrIndex = CurItem.ItemIndex;
     CurItem.Window.gameObject.SetActive(true);
     normalSpriteName = CurItem.UiSprite.spriteName;
     CurItem.UiSprite.spriteName = HlightSpriteName;
     usedItems.Clear();
     usedItems.Add(CurItem);
 }
Example #2
0
 /// <summary>
 /// The callback of each button click event in the tab panel.
 /// </summary>
 /// <param name="go">The sender of click event.</param>
 private void OnToggleItem(GameObject go)
 {
     var sprite = go.GetComponent<UISprite>();
     if(sprite != CurItem.UiSprite)
     {
         CurItem.UiSprite.spriteName = normalSpriteName;
         CurItem.Window.gameObject.SetActive(false);
         var spriteList = new List<UISprite>();
         for (var i = 0; i < usedItems.Count; i++)
         {
             spriteList.Add(usedItems[i].UiSprite);
         }
         if (!spriteList.Contains(sprite))
         {
             var item = FindPanelItem(sprite);
             if (item != null)
             {
                 CurrIndex = item.ItemIndex;
                 OnToggle();
                 CurItem = new TabPanelItem { UiSprite = sprite, Window = WindowManager.Instance.GetWindow(Utils.PrefabNameToWindow(item.Window.name))};
                 CurItem.UiSprite.spriteName = HlightSpriteName;
                 CurItem.Window.gameObject.SetActive(true);
                 CurItem.ItemIndex = item.ItemIndex;
                 usedItems.Add(CurItem);
             }
         }
         else
         {
             int k = spriteList.IndexOf(sprite);
             CurItem = usedItems[k];
             CurrIndex = CurItem.ItemIndex;
             OnToggle();
             CurItem.Window.gameObject.SetActive(true);
             CurItem.UiSprite.spriteName = HlightSpriteName;
         }
     }
     
 }