| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- using System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using ET;
- using FairyGUI;
- using UI.MatchingCompetition;
- 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>();
- 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 = ListItemType1Renderer;
- _ui.m_dressList.itemRenderer = ListItemType2Render;
- _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
- _ui.m_btn.onClick.Add(OnClickBtn);
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- }
- protected override void OnShown()
- {
- base.OnShown();
- if (_sceneObject == null)
- {
- _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
- MyDressUpHelper.dressUpObj.setSceneObj(_sceneObject, false, false);
- }
- UpdateDress();
- UpdateView();
- }
- protected override void OnHide()
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- base.OnHide();
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- }
- private void UpdateView()
- {
- }
- private async void UpdateDress()
- {
- //这里要换成获取其他玩家数据
- 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);
- item.m_name.text = nameList[index];
- if (item.target.data == null)
- {
- item.target.onClick.Add(OnClickListType1Item);
- }
- item.target.data = index;
- UI_ComponentName.ProxyEnd();
- }
- private void ListItemType2Render(int index, GObject obj)
- {
- UI_MatchingDressItem item = UI_MatchingDressItem.Proxy(obj);
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(IdList[index]);
- item.m_icon.url = ResPathUtil.GetIconPath(itemCfg.res, "png");
- item.m_txtTitle.text = itemCfg.name;
- UI_MatchingDressItem.ProxyEnd();
- }
- private void OnClickListType1Item(EventContext context)
- {
- GObject item = context.sender as GObject;
- int index = (int)item.data;
- nameIndex = index;
- _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);
- }
- }
- }
|