using ET; using FairyGUI; using Hutool; using System.Collections.Generic; using UI.League; using UnityEngine; namespace GFGGame { public class LeagueTeaPartyRewardView : BaseWindow { private UI_LeagueTeaPartyRewardUI _ui; private List componentsPerson = new List(); private List componentsLeague = new List(); public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeagueTeaPartyRewardUI.PACKAGE_NAME; _ui = UI_LeagueTeaPartyRewardUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; } protected override void AddEventListener() { base.AddEventListener(); } protected override void OnShown() { base.OnShown(); SetPersonScoreList(); SetLeagueScoreList(); } protected override void OnHide() { base.OnHide(); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void OnBtnBackClick() { ViewManager.GoBackFrom(typeof(LeagueView).FullName); } //角色评选奖励 private void SetPersonScoreList() { var teapartyRewardRoleCfg = TeapartyRewardRoleCfgArray.Instance.dataArray; var maxCfg = teapartyRewardRoleCfg[teapartyRewardRoleCfg.Length - 1]; var maxCfgID = maxCfg.id; var maxScore = maxCfg.targetScore; var pos = _ui.m_StartIndex.position; var endX = _ui.m_EndIndex.position.x; _ui.m_barPerson.max = maxScore; //循环设置UI foreach (var cfg in teapartyRewardRoleCfg) { var cfgScore = cfg.targetScore; var item = UI_LinessRewardProcessItemBt.Create(); var target = item.target; componentsPerson.Add(target); _ui.target.AddChild(target); //根据 maxScore cfgScore pos.y endY 设置target 位置 x,z不变,y根据比例设置 var x = pos.x + (endX - pos.x) * cfgScore / maxScore; target.SetPosition(x, pos.y, pos.z); item.m_Score.text = cfgScore.ToString(); var cfgBonusArr = cfg.stageRewardArr; var itemCfg = ItemCfgArray.Instance.GetCfg(cfgBonusArr[0][0]); item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg); item.m_Num.text = cfgBonusArr[0][1].ToString(); //item.m_c1.selectedIndex = cfg.id == maxCfgID ? 1 : 0; //item.target.data = cfg; //item.target.onClick.Add(OnClickReward); } FreshGetStatus(); } private void FreshGetStatus() { componentsPerson.ForEach(com => { //var item = UI_ExpProcessItem.Proxy(com); //var cfg = (Activity7DaysCfg)item.target.data; //var cfgID = cfg.id; //var state = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(cfgID); //item.m_c2.selectedIndex = state ? 1 : 0; //RedDotController.Instance.SetComRedDot(item.target, // ActivityDay7DataManager.Instance.CheckActivityDay7RewardCanGet(cfgID), "", -90); //UI_ExpProcessItem.ProxyEnd(); }); } //雅集评选奖励 private void SetLeagueScoreList() { var teapartyRewardLeagueCfgs = TeapartyRewardLeagueCfgArray.Instance.GetCfgsByid(1); //LeagueDataManager.Instance.TeaPartyId var maxCfg = teapartyRewardLeagueCfgs[teapartyRewardLeagueCfgs.Count - 1]; var maxCfgID = maxCfg.id; var maxScore = maxCfg.targetScore; var pos = _ui.m_StartLeagueIndex.position; var endX = _ui.m_EndLeagueIndex.position.x; _ui.m_barPerson.max = maxScore; //循环设置UI foreach (var cfg in teapartyRewardLeagueCfgs) { var cfgScore = cfg.targetScore; var item = UI_LinessRewardProcessItemBt.Create(); var target = item.target; componentsLeague.Add(target); _ui.target.AddChild(target); //根据 maxScore cfgScore pos.y endY 设置target 位置 x,z不变,y根据比例设置 var x = pos.x + (endX - pos.x) * cfgScore / maxScore; target.SetPosition(x, pos.y, pos.z); item.m_Score.text = cfgScore.ToString(); var cfgBonusArr = cfg.stageRewardArr; var itemCfg = ItemCfgArray.Instance.GetCfg(cfgBonusArr[0][0]); item.m_loaIcon.url = string.IsNullOrEmpty(itemCfg.res) ? "" : ResPathUtil.GetIconPath(itemCfg); item.m_Num.text = cfgBonusArr[0][1].ToString(); //item.m_c1.selectedIndex = cfg.id == maxCfgID ? 1 : 0; //item.target.data = cfg; //item.target.onClick.Add(OnClickReward); } FreshGetStatus(); } } }