| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 | using System;using System.Collections.Generic;using System.Threading.Tasks;using ET;using FairyGUI;using UI.MatchingCompetition;using UnityEngine;namespace GFGGame{    //搭配赛评选期间    class MatchingCompetitionUpLoadView : BaseWindow    {        private UI_MatchingCompetitionUpLoadUI _ui;        private GameObject _sceneObject;        private float countTimeSpeed = 0.001f;        private bool isCountTime = false;        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_MatchingCompetitionUpLoadUI.PACKAGE_NAME;            _ui = UI_MatchingCompetitionUpLoadUI.Create();            this.viewCom = _ui.target;            isReturnView = true;            isfullScreen = true;            _ui.m_BtnBack.onClick.Add(OnClickBtnBack);            _ui.m_btnUploadWorks.onClick.Add(OnClickBtnUpload);            _ui.m_btnShop.onClick.Add(OnClickBtnShop);            _ui.m_btnMyWorks.onClick.Add(OnClickBtnMyWorks);            _ui.m_btnRank.onClick.Add(OnClickBtnRank);            _ui.m_btnLook.onClick.Add(OnClickBtnLook);            _ui.m_btnExchage.onClick.Add(OnClickBtnExchange);            _ui.m_beforeWork.onClick.Add(OnClickBtnBeforeWorks);            _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);        }        protected override void OnShown()        {            base.OnShown();            _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");            _ui.m_c1.selectedIndex = MatchingCompetitionDataManager.Instance.MatchingState;            _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;            isCountTime = false;            UpdateView();            UpdateHead();            UpdateDress();            Timers.inst.AddUpdate(UpdateTime);            Timers.inst.AddUpdate(CheckGuide);            //临时处理,后续下载做好了替换            //result = await MatchingCompetitionSproxy.ReqCurrentRank();        }        protected override void OnHide()        {            if (_sceneObject != null)            {                PrefabManager.Instance.Restore(_sceneObject);                _sceneObject = null;            }            Timers.inst.Remove(UpdateTime);            Timers.inst.Remove(UpdateCountTime);            Timers.inst.Remove(CheckGuide);            MatchingCompetitionDataManager.Instance.DressPropIndex = 0;            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 async void UpdateDress()        {            //if (MatchingOneDataManager.Instance.MathingDressDate.actionId != 0)            if(false)            {                _ui.m_bg.visible = false;                _ui.m_playerImage.visible = false;                MatchingOneDataManager.Instance.itemGameObjs.Clear();                PhotographDataManager.Instance.itemGameObjs.Clear();                PhotographDataManager.Instance.dressUpObj?.Dispose();                PhotographDataManager.Instance.dressUpObj = new DressUpObj();                if (_sceneObject == null)                {                    _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));                }                PhotographSceneManager.Instance.sceneObject = _sceneObject;                if(MatchingOneDataManager.Instance.DressUpBgID == 0)                {                    PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));                }                else                {                    PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingOneDataManager.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(MatchingOneDataManager.Instance.MathingDressDate);                //对搭配赛特殊处理                foreach (var item in MatchingCompetitionDataManager.Instance.DressPropTransInfoDic)                {                    if (item.Key == MatchingCompetitionDataManager.Instance.roleID)                    {                        continue;                    }                    else                    {                        List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);                        ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);                        MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg, idList[1], idList[2]);                    }                }                await Task.Delay(200);                MatchingOneDataManager.Instance.InsertGameObjectList();                for (int i = 0; i < MatchingOneDataManager.Instance.itemGameObjs.Count; i++)                {                    GameObject itemGObj = MatchingOneDataManager.Instance.itemGameObjs[i];                    TransformData itemdata = new TransformData();                    if (MatchingOneDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))                    {                        itemdata = MatchingOneDataManager.Instance.DressPropTransInfoDic[itemGObj.name];                    }                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;                    //if (MatchingOneDataManager.Instance.itemGameObjs[i].name == "Role")                    //{                    //    if(itemdata.position.y >= -5 || itemdata.position.y <= 5)                    //    {                    //        MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(itemdata.position.x,0,0);                    //    }                    //    if(itemdata.position.x >= -5 || itemdata.position.x <= 5)                    //    {                    //        MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(0, MatchingOneDataManager.Instance.itemGameObjs[i].transform.position.y, 0);                    //    }                    //}                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);                    MatchingOneDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;                    PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.itemGameObjs[i], (i+1) * PhotographDataManager.layerCount, "up");                }                //PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");            }            else            {                _ui.m_bg.visible = true;                _ui.m_playerImage.visible = true;                _ui.m_playerImage.texture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;            }        }        private void UpdateView()        {            _ui.m_countTime.fillAmount = 0;            _ui.m_countTime.visible = false;            //long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;            //long curTime = TimeHelper.ServerNow();            //if (endTime < curTime + 1)            //{            //    if (MatchingCompetitionDataManager.Instance.MatchingState == 2)            //    {            //        PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");            //    }            //    return;            //}            //TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);            //if (MatchingCompetitionDataManager.Instance.MatchingState == 2)            //{            //    _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);            //}            //else            //{            //    _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);            //}        }        private void UpdateHead()        {            RoleInfoManager.Instance.UpdateHead(_ui.m_playerHead.m_head, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadItemId, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadBorderItemId);            _ui.m_playerHead.m_nameText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.RoleName.ToString();            _ui.m_playerHead.m_countText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.Score.ToString();        }        private void UpdateTime(object param = null)        {            long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;            long curTime = TimeHelper.ServerNow();            if (endTime < curTime + 1)            {                Timers.inst.Remove(UpdateTime);                if (MatchingCompetitionDataManager.Instance.MatchingState == 2)                {                    PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");                    ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);                }                return;            }            TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);            if (MatchingCompetitionDataManager.Instance.MatchingState == 2)            {                _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);            }            else            {                _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);            }                        }        private void UpdateCountTime(object param = null)        {            if(_ui.m_countTime.fillAmount <=0)            {                _ui.m_countTime.fillAmount = 0;                _ui.m_countTime.visible = false;                isCountTime = false;                Timers.inst.Remove(UpdateCountTime);            }            _ui.m_countTime.fillAmount -= countTimeSpeed;        }        private void OnClickBtnBack()        {            ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);        }        private async void OnClickBtnUpload()        {            if(MatchingCompetitionDataManager.Instance.MatchingState == 3)            {                PromptController.Instance.ShowFloatTextPrompt("结算期间无法选择!");                return;            }            //先获取两个玩家信息            bool resulst =  await MatchingCompetitionSproxy.ReqGetTwoPlayers();            if(resulst)            {                ViewManager.Show<MatchingCompetitionSelectView>();            }        }        private void OnClickBtnShop()        {            ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, 3 });        }        private void OnClickBtnMyWorks()        {            ViewManager.Show<MatchingCompetitionLookView>();        }        private void OnClickBtnBeforeWorks()        {            ViewManager.Show<PoemPhotoView>(2);        }        private async void OnClickBtnRank()        {            if (MatchingCompetitionDataManager.Instance._currentRankList.Count == 0)            {                //缓存里面不存在数据的话就进行同步加载数据                bool result = await MatchingCompetitionSproxy.ReqCurrentRank();                if (result)                {                    ViewManager.Show<MatchingCompetitionRankView>();                }                else                {                    PromptController.Instance.ShowFloatTextPrompt("暂无玩家上榜!");                }            }            else            {                MatchingCompetitionDataManager.Instance._coroutineQueue.Enqueue(1);                MatchingCompetitionSproxy.UseCoroutine();                                //那就直接显示界面                ViewManager.Show<MatchingCompetitionRankView>();            }        }                private async void OnClickBtnExchange()        {            if (isCountTime)            {                PromptController.Instance.ShowFloatTextPrompt("刷新冷却中,请耐心等待!");                return;            }            isCountTime = true;            _ui.m_countTime.visible = true;            _ui.m_countTime.fillAmount = 1.0f;            Timers.inst.AddUpdate(UpdateCountTime);            //ViewManager.Show<ModalStatusView>("刷新中...");            bool result = await MatchingCompetitionSproxy.ReqGetOnePlayers();            if (result)            {                if (_sceneObject != null)                {                    PrefabManager.Instance.Restore(_sceneObject);                    _sceneObject = null;                }                //UpdateView();                UpdateHead();                UpdateDress();                //ViewManager.Hide<ModalStatusView>();            }            //ViewManager.Hide<ModalStatusView>();        }        private void OnClickBtnLook()        {            List<int> AllIdList = new List<int>();            foreach (var info in MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.CollocationInfoList)            {                AllIdList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(info.ItemId));            }            MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;            ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);        }        private void CheckGuide(object param)        {            if (GuideDataManager.IsGuideFinish("DAPEISAI_2") <= 0 && MatchingCompetitionDataManager.Instance.MatchingState == 2)            {                UpdateToCheckGuide(null);            }            else            {                Timers.inst.Remove(CheckGuide);            }        }        protected override void UpdateToCheckGuide(object param)        {            if (!ViewManager.CheckIsTopView(this.viewCom)) return;            GuideController.TryGuide(_ui.m_btnUploadWorks, "DAPEISAI_2", 2, "进行评选!");        }    }}
 |