123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- using System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using ET;
- using FairyGUI;
- using UI.MatchingCompetition;
- using UI.DressUp;
- using UnityEngine;
- namespace GFGGame
- {
- class MatchingCompetitionDetailView : BaseWindow
- {
- private UI_MatchingCompetitionDetailUI _ui;
- private GameObject _sceneObject;
- private int nameIndex = 0;
- private List<string> nameList = new List<string>() { "饰品","外套","鞋子","袜子","内搭","上衣","下装","手持物","妆容","道具","背景","拍照" };
- private List<int> IdList = new List<int>();
- private List<int> AllIdList = new List<int>();
- public override void Dispose()
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- if (_ui != null)
- {
- _ui.Dispose();
- }
- _ui = null;
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_MatchingCompetitionDetailUI.PACKAGE_NAME;
- _ui = UI_MatchingCompetitionDetailUI.Create();
- this.viewCom = _ui.target;
- isReturnView = true;
- isfullScreen = true;
- _ui.m_nameList.itemRenderer = ListType1Item;
- _ui.m_dressList.itemRenderer = ListItemType2Render;
- _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
- _ui.m_btn.onClick.Add(OnClickBtn);
- }
- protected override void OnShown()
- {
- base.OnShown();
- //if (_sceneObject == null)
- //{
- // _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
- // MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
- //}
- AllIdList = this.viewData as List<int>;
- _ui.m_dressList.visible = false;
- UpdateDress();
- UpdateView();
- }
- protected override void OnHide()
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- base.OnHide();
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
- }
- private void UpdateView()
- {
- _ui.m_nameList.numItems = DressUpMenuItemCfg1Array.Instance.dataArray.Length - 1;
- }
- private void UpdateDress()
- {
- _ui.m_playerImage.texture = MatchingCompetitionDataManager.Instance.DetailNtexture;
- ////这里要换成获取其他玩家数据,改成用图片
- // MatchingCompetitionDataManager.Instance.itemGameObjs.Clear();
- // PhotographDataManager.Instance.itemGameObjs.Clear();
- // if (_sceneObject == null)
- // {
- // _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
- // }
- // PhotographSceneManager.Instance.sceneObject = _sceneObject;
- // if (MatchingCompetitionDataManager.Instance.DressUpBgID == 0)
- // {
- // PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
- // }
- // else
- // {
- // PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressUpBgID));
- // }
- // PhotographSceneManager.Instance.AddBodyItem();
- // GameObject bodyParent = _sceneObject.transform.Find("Scene/Role").gameObject;
- // PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObject, false, true, bodyParent, false, null);
- // PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingCompetitionDataManager.Instance.MathingDressDate);
- // //对搭配赛特殊处理
- // for (int i = 0; i < MatchingCompetitionDataManager.Instance.DressPropIdList.Count; i++)
- // {
- // if (MatchingCompetitionDataManager.Instance.DressPropIdList[i] == MatchingCompetitionDataManager.Instance.roleID)
- // {
- // continue;
- // }
- // else
- // {
- // ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(MatchingCompetitionDataManager.Instance.DressPropIdList[i]);
- // MatchingCompetitionDataManager.Instance.AddSceneItem(itemCfg, true);
- // }
- // }
- // await Task.Delay(100);
- // MatchingCompetitionDataManager.Instance.InsertGameObjectList();
- // for (int i = 0; i < MatchingCompetitionDataManager.Instance.TransformDataList.Count; i++)
- // {
- // TransformData itemdata = MatchingCompetitionDataManager.Instance.TransformDataList[i];
- // GameObject itemGObj = MatchingCompetitionDataManager.Instance.itemGameObjs[i];
- // MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
- // MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
- // MatchingCompetitionDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
- // PhotographUtil.Instance.ChangeLayer(MatchingCompetitionDataManager.Instance.itemGameObjs[i], i * PhotographDataManager.layerCount, "up");
- // }
- }
- //private void ListItemType1Renderer(int index, GObject obj)
- //{
- // UI_ComponentName item = UI_ComponentName.Proxy(obj);
- // if(index == DressUpMenuItemCfg1Array.Instance.dataArray.Length - 1)
- // {
- // item.m_name.text = "拍照";
- // }
- // else
- // {
- // item.m_name.text = DressUpMenuItemCfg1Array.Instance.dataArray[index].name;
- // }
-
- // if (item.target.data == null)
- // {
- // item.target.onClick.Add(OnClickListType1Item);
- // }
- // item.target.data = index;
- // UI_ComponentName.ProxyEnd();
- //}
- private void ListType1Item(int index, GObject item)
- {
- UI_MatchingTypeItem typeItem = UI_MatchingTypeItem.Proxy(item);
- DressUpMenuItemCfg1 item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index];
- if(item1.id >= 12)
- {
- item1 = DressUpMenuItemCfg1Array.Instance.dataArray[index + 1];
- }
- typeItem.m_icon.url = "ui://MatchingCompetition/hz_fenleitu_" + item1.id;
- typeItem.m_txtname.text = item1.name;
- //typeItem.m_imgTitle.url = "ui://DressUp/hz_iconzi_" + item1.id;
- typeItem.m_imgNeed.visible = false;
- typeItem.m_imgNew.visible = false;
- if (item.data == null)
- {
- item.onClick.Add(OnClickListType1Item);
- }
- item.data = item1;
- UI_MatchingTypeItem.ProxyEnd();
- }
- private void ListItemType2Render(int index, GObject obj)
- {
- UI_MatchingDressItem item = UI_MatchingDressItem.Proxy(obj);
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(IdList[index]);
- SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(IdList[index]);
- if (itemCfg != null)
- {
- item.m_icon.url = ResPathUtil.GetIconPath(itemCfg.res, "png");
- item.m_txtTitle.text = itemCfg.name;
- }
- else if (suitCfg != null)
- {
- item.m_icon.url = ResPathUtil.GetIconPath(suitCfg.res, "png");
- item.m_txtTitle.text = suitCfg.name;
- }
- UI_MatchingDressItem.ProxyEnd();
- }
- private void OnClickListType1Item(EventContext context)
- {
- GObject item = context.sender as GObject;
- DressUpMenuItemCfg1 index = (DressUpMenuItemCfg1)item.data;
- IdList.Clear();
- foreach (var idItem in AllIdList)
- {
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idItem);
- SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(idItem);
- if(itemCfg == null && suitCfg == null)
- {
- continue;
- }
- else if(itemCfg != null)
- {
- if (idItem == 10000 || idItem == 20000 || idItem == 30000 || idItem == 50000 || idItem == 60000)
- {
- continue;
- }
- if (index.type != 0)
- {
- if (itemCfg.subType == index.type)
- {
- IdList.Add(idItem);
- }
- }
- else
- {
- foreach (var itemSubMenus in index.subMenusArr)
- {
- if (DressUpMenuItemCfg2Array.Instance.dataArray[(itemSubMenus - 1)].type == itemCfg.subType)
- {
- IdList.Add(idItem);
- }
- }
- }
- }
- else if (index.type == 25 && suitCfg != null)
- {
- IdList.Add(idItem);
- }
- }
- _ui.m_dressList.numItems = IdList.Count;
- _ui.m_dressList.visible = true;
- _ui.m_nameList.visible = false;
- }
- private void OnClickBtn(EventContext context)
- {
- _ui.m_nameList.visible = true;
- _ui.m_dressList.visible = false;
- }
- private void OnClickBtnBack()
- {
- ViewManager.GoBackFrom(typeof(MatchingCompetitionDetailView).FullName);
- }
- }
- }
|