| 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);        }    }}
 |