// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-06-22 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using UnityEngine; using UnityEngine.UI; using Text = TMPro.TextMeshProUGUI; /// /// /// partial class EndlessSettleWindow { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] private GameObject _goNew; [KUIFlag] private KUIList __listReward; [KUIFlag] private Button _btnCollect; [KUIFlag] private Text _tmpStage; [KUIFlag] private Text _tmpRank; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Method /// /// /// public void InitView() { SetViewData(); __listReward.AddTemplate(true); _btnCollect.onClick.AddListener(this.OnCollectBtnClick); } public void RefreshView() { if (this.data is BattleResult result) { result.ApplyResult2(); __listReward.Clear(); foreach (var money in result.moneyDict) { if (money.Value > 0) __listReward.GetItem().SetCount(money.Key, money.Value); } foreach (var prop in result.propDict) { __listReward.GetItem().SetCount(prop.Key, prop.Value); } int levelType = result.levelType; if (levelType == 4) { var swordRewards = SwordProxy.Instance.GetSettleRewards(); if (swordRewards.count > 0) __listReward.GetItem().SetCount(swordRewards.id, swordRewards.count); } if (levelType == 2) { _tmpRank.text = "击败全球80%的玩家"; _tmpStage.text = $"第{result.stageIndex}关"; var isNew = LevelProxy.Instance.CompleteLevel(result.levelId, result.stageIndex); _goNew.SetActive(isNew); } else { _tmpRank.text = ""; _tmpStage.text = ""; _goNew.SetActive(false); } } SoundProxy.PlayFxAsync("Sounds/attack_ui_end.mp3"); } private void OnCollectBtnClick() { if (this.data is BattleResult result) { int levelType = result.levelType; if (levelType == 2) GameScene.Instance.EnterScene(0, "endless"); else if (levelType == 4) GameScene.Instance.EnterScene(0, "sword"); else GameScene.Instance.EnterScene(0, "special"); } CloseWindow(this); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } #endregion } }