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 _seasonIndex = 0; 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_BtnBack.onClick.Add(OnClickBtnBack); _ui.m_nameList.onClickItem.Add(OnClickListType1Item); _ui.m_dressList.onClickItem.Add(OnClickListType2Item); } 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] == 0) { 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 OnClickListType1Item(EventContext context) { } private void OnClickListType2Item(EventContext context) { } private void OnClickBtnBack() { ViewManager.GoBackFrom(typeof(MatchingCompetitionDetailView).FullName); } } }