123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class FashionShowHomePage : Regist
- {
- #region Config
- //StartMark-Used by LabelUtility-Do not remove
- private static Text HomeTabButtonText;
- private static Text CuteTabButtonText;
- private static Text GraceTabButtonText;
- private static Text VividTabButtonText;
- private static Text SimpleTabButtonText;
- private static Text GloryTabButtonText;
- private static Text RecommendTitle;
- private static Button Return;
- private static Button HomeTabButton;
- private static Button CuteTabButton;
- private static Button GraceTabButton;
- private static Button VividTabButton;
- private static Button SimpleTabButton;
- private static Button GloryTabButton;
- private static VirtualScrollRectPlus HomeScrollRect;
- private static VirtualScrollRectPlus CuteScrollRect;
- private static VirtualScrollRectPlus GraceScrollRect;
- private static VirtualScrollRectPlus VividScrollRect;
- private static VirtualScrollRectPlus SimpleScrollRect;
- private static VirtualScrollRectPlus GloryScrollRect;
- //EndMark-Used by LabelUtility-Do not remove
- private static Button CurrentTabButton;
- private static Button OpenHomePageButton;
- private static Transform Panel;
- private static List<Button> TabButtons = new List<Button>();
- private static List<VirtualScrollRectPlus> ScrollRects = new List<VirtualScrollRectPlus>();
- private static List<FashionShowData> HomeDatas = new List<FashionShowData>();
- private static List<FashionShowData> CuteDatas = new List<FashionShowData>();
- private static List<FashionShowData> GraceDatas = new List<FashionShowData>();
- private static List<FashionShowData> VividDatas = new List<FashionShowData>();
- private static List<FashionShowData> SimpleDatas = new List<FashionShowData>();
- private static List<FashionShowData> GloryDatas = new List<FashionShowData>();
- private static List<List<FashionShowData>> TabDatasList = new List<List<FashionShowData>>();
- private static List<FashionShowCloseBox> Boxes = new List<FashionShowCloseBox>();
- #endregion
- public override void RegistReference()
- {
- //RegistStartMark-Used by LabelUtility-Do not remove
- HomeTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_HomeTabButtonText);
- CuteTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_CuteTabButtonText);
- GraceTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_GraceTabButtonText);
- VividTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_VividTabButtonText);
- SimpleTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_SimpleTabButtonText);
- GloryTabButtonText = ResourceManager.Get<Text>(CanvasLabel.Pi_GloryTabButtonText);
- RecommendTitle = ResourceManager.Get<Text>(CanvasLabel.Pi_RecommendTitle);
- Return = ResourceManager.Get<Button>(CanvasLabel.Pi_Return);
- HomeTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_HomeTabButton);
- CuteTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_CuteTabButton);
- GraceTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_GraceTabButton);
- VividTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_VividTabButton);
- SimpleTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_SimpleTabButton);
- GloryTabButton = ResourceManager.Get<Button>(CanvasLabel.Pi_GloryTabButton);
- HomeScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_HomeScrollRect);
- CuteScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_CuteScrollRect);
- GraceScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_GraceScrollRect);
- VividScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_VividScrollRect);
- SimpleScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_SimpleScrollRect);
- GloryScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(CanvasLabel.Pi_GloryScrollRect);
- //RegistEndMark-Used by LabelUtility-Do not remove
- Panel = ResourceManager.Get(CanvasLabel.Pi_FashionShowHomePanel);
- OpenHomePageButton = ResourceManager.Get<Button>(CanvasLabel.C_FashionShowButton);
- CurrentTabButton = HomeTabButton;
- TabButtons.Add(HomeTabButton);
- TabButtons.Add(CuteTabButton);
- TabButtons.Add(GraceTabButton);
- TabButtons.Add(VividTabButton);
- TabButtons.Add(SimpleTabButton);
- TabButtons.Add(GloryTabButton);
- ScrollRects.Add(HomeScrollRect);
- ScrollRects.Add(CuteScrollRect);
- ScrollRects.Add(GraceScrollRect);
- ScrollRects.Add(VividScrollRect);
- ScrollRects.Add(SimpleScrollRect);
- ScrollRects.Add(GloryScrollRect);
- TabDatasList.Add(HomeDatas);
- TabDatasList.Add(CuteDatas);
- TabDatasList.Add(GraceDatas);
- TabDatasList.Add(VividDatas);
- TabDatasList.Add(SimpleDatas);
- TabDatasList.Add(GloryDatas);
- Panel.CreateTweenVec2D(ResourceManager.Get(CanvasLabel.Pi_FashionShowHomePanelPosition).position, 0.5f, false, false, true, Curve.EaseOutQuad);
- HomeTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- CuteTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- GraceTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- VividTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- SimpleTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- GloryTabButton.CreateTweenScale(new Vector3(1, 1, 1), new Vector3(1.1f, 1.1f, 1.1f), 0.25f, true, true, Curve.EaseOutQuad);
- LanguageManager.Add(HomeTabButtonText, new MulLanStr(LanguageLabel.UI__Pi_HomePage));
- LanguageManager.Add(CuteTabButtonText, new MulLanStr(LanguageLabel.UI__Pg_Cute));
- LanguageManager.Add(GraceTabButtonText, new MulLanStr(LanguageLabel.UI__Pg_Grace));
- LanguageManager.Add(VividTabButtonText, new MulLanStr(LanguageLabel.UI__Pg_Vivid));
- LanguageManager.Add(GloryTabButtonText, new MulLanStr(LanguageLabel.UI__Pg_Glory));
- LanguageManager.Add(SimpleTabButtonText, new MulLanStr(LanguageLabel.UI__Pg_Simple));
- LanguageManager.Add(RecommendTitle, new MulLanStr(LanguageLabel.UI__Pi_Title));
- Return.onClick.AddListener(OnCloseButtonClick);
- OpenHomePageButton.onClick.AddListener(OnOpenButtonClick);
- HomeTabButton.onClick.AddListener(() => OnTabButtonClick(HomeTabButton));
- CuteTabButton.onClick.AddListener(() => OnTabButtonClick(CuteTabButton));
- GraceTabButton.onClick.AddListener(() => OnTabButtonClick(GraceTabButton));
- VividTabButton.onClick.AddListener(() => OnTabButtonClick(VividTabButton));
- SimpleTabButton.onClick.AddListener(() => OnTabButtonClick(SimpleTabButton));
- GloryTabButton.onClick.AddListener(() => OnTabButtonClick(GloryTabButton));
- HomeScrollRect.Init(1, 3);
- GraceScrollRect.Init(1, 3);
- GraceScrollRect.Init(1, 3);
- SimpleScrollRect.Init(1, 3);
- VividScrollRect.Init(1, 3);
- GloryScrollRect.Init(1, 3);
- HomeScrollRect.OnSaveItem += OnSaveHomeItem;
- HomeScrollRect.OnGetNextItem += OnGetNextHomeItem;
- HomeScrollRect.OnGetPreviousItem += OnGetPreviousHomeItem;
- CuteScrollRect.OnSaveItem += OnSaveCuteItem;
- CuteScrollRect.OnGetNextItem += OnGetNextCuteItem;
- CuteScrollRect.OnGetPreviousItem += OnGetPreviousCuteItem;
- GraceScrollRect.OnSaveItem += OnSaveGraceItem;
- GraceScrollRect.OnGetNextItem += OnGetNextGraceItem;
- GraceScrollRect.OnGetPreviousItem += OnGetPreviousGraceItem;
- SimpleScrollRect.OnSaveItem += OnSaveSimpleItem;
- SimpleScrollRect.OnGetNextItem += OnGetNextSimpleItem;
- SimpleScrollRect.OnGetPreviousItem += OnGetPreviousSimpleItem;
- VividScrollRect.OnSaveItem += OnSaveVividItem;
- VividScrollRect.OnGetNextItem += OnGetNextVividItem;
- VividScrollRect.OnGetPreviousItem += OnGetPreviousVividItem;
- GloryScrollRect.OnSaveItem += OnSaveGloryItem;
- GloryScrollRect.OnGetNextItem += OnGetNextGloryItem;
- GloryScrollRect.OnGetPreviousItem += OnGetPreviousGloryItem;
- }
- private static void ShowPanel()
- {
- Panel.TweenForVec();
- ResourceManager.Get(CanvasLabel.C_Main).TweenBacCG();
- OnTabButtonClick(CurrentTabButton);
- }
- private static void HidePanel()
- {
- TweenRoot tween = Panel.TweenBacVec();
- tween.AddEventOnetime(EventType.BackwardFinish, () => ResourceManager.Get(CanvasLabel.C_Main).TweenForCG());
- }
- private static void OnOpenButtonClick()
- {
- //AudioManager.PlayClip(ResourceLabel.BtnClip);
- ShowPanel();
- }
- private static void OnCloseButtonClick()
- {
- AudioManager.PlayClip(ResourceLabel.BtnClip);
- HidePanel();
- }
- private static void OnTabButtonClick(Button button)
- {
- CurrentTabButton = button;
- AudioManager.PlayClip(ResourceLabel.BtnClip);
- for (int i = 0; i < TabButtons.Count; i++)
- {
- TabButtons[i].transform.SetSiblingIndex(i);
- TabButtons[i].TweenBacScale();
- TabButtons[i].interactable = true;
- ScrollRects[i].SetActive(false);
- }
- button.GetTweenScale().Pause();
- button.transform.SetAsLastSibling();
- button.TweenForScale();
- button.interactable = false;
- int index = TabButtons.IndexOf(CurrentTabButton);
- ScrollRects[index].SetActive(true);
- ScrollRects[index].SaveAllChild();
- for (int i = 0; i < TabDatasList[index].Count; i++)
- {
- TabDatasList[index].RemoveAt(i--);
- }
- RefreshCurrentTabPage();
- }
- private static void RefreshCurrentTabPage()
- {
- int index = TabButtons.IndexOf(CurrentTabButton);
- if (ScrollRects[index].content.transform.childCount > 0) return;
- if (TabDatasList[index].Count == 0)
- {
- ScrollRects[index].NextHorizontalPage();
- }
- else
- {
- for (int i = 0; i < 10; i++) ScrollRects[index].NextHorizontalPage();
- }
- }
- private static void OnSaveHomeItem(int index, VirtualScrollRectItem item)
- {
- FashionShowCloseBox box = (FashionShowCloseBox) item;
- box.reset();
- Boxes.Remove(box);
- ResourceManager.Save(item);
- }
- private static FashionShowCloseBox GetAvailableBox()
- {
- foreach (var box in Boxes)
- {
- if (box.HaveUnusedCell()) return box;
- }
- return null;
- }
- private static VirtualScrollRectItem OnGetNextHomeItem(int index)
- {
- if (HomeDatas.Count > index)
- {
- FashionShowCloseBox closeBox = GetAvailableBox();
- if (closeBox == null)
- {
- closeBox = ResourceManager.Get(FashionShowCloseBoxLabel.FashionShowCloseBox, Folder.UI, false, HomeScrollRect.content, false, ObjType.FashionShowCloseBox, typeof(FashionShowCloseBox)).GetComponent<FashionShowCloseBox>();
- closeBox.Init();
- closeBox.SetNextCell(HomeDatas[index]);
- Boxes.Add(closeBox);
- return closeBox;
- }
- else
- {
- closeBox.SetNextCell(HomeDatas[index]);
- return null;
- }
- }
- else
- {
- HttpManager.GetFashionShowDatas
- (
- datas =>
- {
- RefreshCurrentTabPage();
- HomeDatas.AddRange(datas);
- },
- null
- );
- return null;
- }
- }
- private static VirtualScrollRectItem OnGetPreviousHomeItem(int index)
- {
- if (index >= 0)
- {
- FashionShowCloseBox closeBox = GetAvailableBox();
- if (closeBox == null)
- {
- closeBox = ResourceManager.Get(FashionShowCloseBoxLabel.FashionShowCloseBox, Folder.UI, false, HomeScrollRect.content, false, ObjType.FashionShowCloseBox, typeof(FashionShowCloseBox)).GetComponent<FashionShowCloseBox>();
- closeBox.reset();
- closeBox.SetNextCell(HomeDatas[index]);
- Boxes.Add(closeBox);
- return closeBox;
- }
- else
- {
- closeBox.SetNextCell(HomeDatas[index]);
- return null;
- }
- }
- else
- {
- return null;
- }
- }
- private static void OnSaveCuteItem(int index, VirtualScrollRectItem item)
- {
- ResourceManager.Save(item);
- }
- private static VirtualScrollRectItem OnGetNextCuteItem(int index)
- {
- return null;
- }
- private static VirtualScrollRectItem OnGetPreviousCuteItem(int index)
- {
- return null;
- }
- private static void OnSaveGraceItem(int index, VirtualScrollRectItem item)
- {
- ResourceManager.Save(item);
- }
- private static VirtualScrollRectItem OnGetNextGraceItem(int index)
- {
- return null;
- }
- private static VirtualScrollRectItem OnGetPreviousGraceItem(int index)
- {
- return null;
- }
- private static void OnSaveVividItem(int index, VirtualScrollRectItem item)
- {
- ResourceManager.Save(item);
- }
- private static VirtualScrollRectItem OnGetNextVividItem(int index)
- {
- return null;
- }
- private static VirtualScrollRectItem OnGetPreviousVividItem(int index)
- {
- return null;
- }
- private static void OnSaveSimpleItem(int index, VirtualScrollRectItem item)
- {
- ResourceManager.Save(item);
- }
- private static VirtualScrollRectItem OnGetNextSimpleItem(int index)
- {
- return null;
- }
- private static VirtualScrollRectItem OnGetPreviousSimpleItem(int index)
- {
- return null;
- }
- private static void OnSaveGloryItem(int index, VirtualScrollRectItem item)
- {
- ResourceManager.Save(item);
- }
- private static VirtualScrollRectItem OnGetNextGloryItem(int index)
- {
- return null;
- }
- private static VirtualScrollRectItem OnGetPreviousGloryItem(int index)
- {
- return null;
- }
- }
|