From d106f11e7f44c748f595da36e0cdfd54849649e6 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 27 八月 2018 21:13:50 +0800
Subject: [PATCH] 2960 抢Boss活动(提交界面逻辑)
---
System/Dungeon/DungeonVictoryWin.cs | 1011 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 510 insertions(+), 501 deletions(-)
diff --git a/System/Dungeon/DungeonVictoryWin.cs b/System/Dungeon/DungeonVictoryWin.cs
index 8b0e70a..db68f74 100644
--- a/System/Dungeon/DungeonVictoryWin.cs
+++ b/System/Dungeon/DungeonVictoryWin.cs
@@ -1,501 +1,510 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Tuesday, September 12, 2017
-//--------------------------------------------------------
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using TableConfig;
-
-namespace Snxxz.UI
-{
-
- public class DungeonVictoryWin : Window
- {
- [SerializeField] protected Transform m_ContainerPoivt;
- [SerializeField, Header("閫氬叧鏃堕棿")] Transform m_ContainerPassTime;
- [SerializeField] Text m_PassTime;
- [SerializeField, Header("缁忛獙")] protected Transform m_ContainerExp;
- [SerializeField] Text m_Experience;
- [SerializeField, Header("閲戦挶")] protected Transform m_ContainerMoney;
- [SerializeField] Text m_Money;
- [SerializeField, Header("绮惧崕")] protected Transform m_ContainerEssence;
- [SerializeField] Text m_Essence;
- [SerializeField, Header("榄旀櫠")] protected Transform m_ContainerMagicEssence;
- [SerializeField] Text m_MagicEssence;
- [SerializeField, Header("閫�鍑烘寜閽�")] ButtonEx m_Exit;
- [SerializeField] protected Text m_ExitTimer;
- [SerializeField, Header("璇勭骇")] GameObject m_GradeBottom;
- [SerializeField] Image m_Grade;
- [SerializeField, Header("鏉�鎬暟閲�")] protected Transform m_ContainerKillMonster;
- [SerializeField] Text m_KillMonsterCnt;
- [SerializeField, Header("鏂拌褰�")] protected Transform m_ContainerNewRecord;
- [SerializeField] Text m_Record;
- [SerializeField, Header("Sp")] protected Transform m_ContainerSP;
- [SerializeField] Text m_SP;
- [SerializeField, Header("鐗╁搧濂栧姳")] protected Transform m_ContainerReward;
- [SerializeField] protected ItemBehaviour m_SpecialItemCollect;
- [SerializeField] protected DungeonRewardItem[] passRewardBehaviours;
- [SerializeField] protected ScaleTween[] m_RewardTweens;
-
- protected DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
-
- protected float timer = 0f;
-
- protected List<int> m_RewardIndexs = new List<int>();
-
- private List<ServerItem> m_RewardSorts = new List<ServerItem>();
-
- #region Built-in
- protected override void BindController()
- {
- }
-
- protected override void AddListeners()
- {
- m_Exit.AddListener(ExitDungeon);
- }
-
- protected override void OnPreOpen()
- {
- timer = 0f;
- if (m_ContainerMagicEssence != null)
- {
- m_ContainerMagicEssence.gameObject.SetActive(false);
- }
- if (m_ContainerEssence != null)
- {
- m_ContainerEssence.gameObject.SetActive(false);
- }
- if (m_ContainerMoney != null)
- {
- m_ContainerMoney.gameObject.SetActive(false);
- }
- if (m_ContainerReward != null)
- {
- m_ContainerReward.gameObject.SetActive(false);
- }
- if (m_ContainerNewRecord != null)
- {
- m_ContainerNewRecord.gameObject.SetActive(false);
- }
- if (m_ContainerKillMonster != null)
- {
- m_ContainerKillMonster.gameObject.SetActive(false);
- }
- if (m_ContainerPoivt != null)
- {
- m_ContainerPoivt.gameObject.SetActive(false);
- }
- }
-
- protected override void OnAfterOpen()
- {
- }
-
- protected override void OnPreClose()
- {
- }
-
- protected override void OnAfterClose()
- {
- }
-
- protected override void OnActived()
- {
- base.OnActived();
- var config = ConfigManager.Instance.GetTemplate<DungeonOpenTimeConfig>(dungeonModel.dungeonResult.dataMapID);
- StartCoroutine(Co_DelayDisplay(config.DelayTime * 0.001f));
- }
- #endregion
-
- protected override void LateUpdate()
- {
- base.LateUpdate();
-
- if (!m_ExitTimer.gameObject.activeInHierarchy)
- {
- m_ExitTimer.gameObject.SetActive(true);
- }
-
- timer -= Time.deltaTime;
- if (timer < 0f)
- {
- timer += 0.5f;
- var endTime = dungeonModel.GetDungeonCoolDownEndTime(DungeonCoolDownType.LeaveMap);
- var seconds = (endTime - DateTime.Now).TotalSeconds;
- DrawExitTimer((int)seconds);
- }
- }
-
- private void ExitDungeon()
- {
- dungeonModel.ExitCurrentDungeon();
- }
-
- protected virtual void DrawExitTimer(int seconds)
- {
- m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp(seconds, 0, int.MaxValue));
- }
-
- protected virtual void DrawItemRewards()
- {
- var merged = false;
- var serveritems = dungeonModel.dungeonResult.itemInfo;
- var hasReward = (serveritems != null && serveritems.Length > 0) || dungeonModel.specialItemCollectRecord.count > 0;
-
- m_ContainerReward.gameObject.SetActive(hasReward);
-
- m_RewardSorts.Clear();
- if (serveritems != null)
- {
- m_RewardSorts.AddRange(serveritems);
- int _mapid = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
- if (_mapid == 60010 || _mapid == 31130)
- {
- m_RewardSorts.Sort(CompareTrialItemIndex);
- }
- }
-
- m_RewardIndexs.Clear();
- if (m_RewardTweens != null && m_RewardTweens.Length > 0)
- {
- for (int i = 0; i < m_RewardTweens.Length; i++)
- {
- m_RewardTweens[i].SetEndState();
- }
- }
- if (m_RewardSorts.Count > 0)
- {
- var items = new List<ItemModel>();
- for (int i = 0; i < m_RewardSorts.Count; i++)
- {
- var serverItem = m_RewardSorts[i];
- var itemModel = new ItemModel(PackType.rptItem);
- var itemInfo = new ItemInfo();
- itemInfo.ItemID = serverItem.ItemID;
-
- if (!merged && itemInfo.ItemID == dungeonModel.specialItemCollectRecord.id)
- {
- itemInfo.ItemCount = serverItem.Count + dungeonModel.specialItemCollectRecord.count;
- merged = true;
- }
- else
- {
- itemInfo.ItemCount = serverItem.Count;
- }
- itemInfo.IsBind = serverItem.IsBind;
- itemInfo.IsSuite = serverItem.IsSuite;
- itemInfo.UserData = serverItem.UserData;
-
- itemModel.SetItemModel(itemInfo);
- items.Add(itemModel);
- }
-
- for (int i = 0; i < passRewardBehaviours.Length; i++)
- {
- var behaviour = passRewardBehaviours[i];
- if (i < items.Count)
- {
- behaviour.transform.parent.gameObject.SetActive(true);
- behaviour.gameObject.SetActive(false);
- behaviour.serverItem = m_RewardSorts[i];
- behaviour.Init(items[i]);
- m_RewardIndexs.Add(m_SpecialItemCollect == null ? i : i + 1);
- }
- else
- {
- behaviour.transform.parent.gameObject.SetActive(false);
- behaviour.gameObject.SetActive(false);
- }
- }
-
- if (m_SpecialItemCollect != null)
- {
- if (!merged && dungeonModel.specialItemCollectRecord.count > 0)
- {
- m_SpecialItemCollect.transform.parent.gameObject.SetActive(true);
- m_SpecialItemCollect.gameObject.SetActive(false);
- m_SpecialItemCollect.SetItem(dungeonModel.specialItemCollectRecord);
- m_RewardIndexs.Insert(0, 0);
- }
- else
- {
- m_SpecialItemCollect.transform.parent.gameObject.SetActive(false);
- m_SpecialItemCollect.gameObject.SetActive(false);
- }
- }
-
- }
- if (m_RewardIndexs.Count > 0 && m_RewardTweens != null && m_RewardTweens.Length > 0)
- {
- PlayRewardTween(0);
- }
- }
-
- protected virtual void PlayRewardTween(int _playIndex)
- {
- if (_playIndex < m_RewardIndexs.Count)
- {
- var _index = m_RewardIndexs[_playIndex];
- if (_index < m_RewardTweens.Length)
- {
- m_RewardTweens[_index].SetStartState();
- m_RewardTweens[_index].gameObject.SetActive(true);
- m_RewardTweens[_index].Play(() =>
- {
- _playIndex += 1;
- PlayRewardTween(_playIndex);
- });
- }
- }
- }
-
- protected virtual void DrawPassGrade()
- {
- if (m_Grade != null)
- {
- var grade = dungeonModel.dungeonResult.grade;
- if (grade > 0)
- {
- m_GradeBottom.SetActive(true);
- switch (grade)
- {
- case 5:
- m_Grade.SetSprite("Remark_S");
- m_Grade.SetNativeSize();
- break;
- case 4:
- m_Grade.SetSprite("Remark_A");
- m_Grade.SetNativeSize();
- break;
- case 3:
- m_Grade.SetSprite("Remark_B");
- m_Grade.SetNativeSize();
- break;
- case 2:
- m_Grade.SetSprite("Remark_C");
- m_Grade.SetNativeSize();
- break;
- case 1:
- m_Grade.SetSprite("Remark_D");
- m_Grade.SetNativeSize();
- break;
- default:
- break;
- }
- m_Grade.SetNativeSize();
- }
- else
- {
- m_GradeBottom.SetActive(false);
- }
- }
-
- }
-
- protected virtual void DrawNewRecord()
- {
- if (dungeonModel.dungeonResult.upPer > 0)
- {
- m_ContainerNewRecord.gameObject.SetActive(true);
- m_Record.text = Language.Get("FairyLand_Func26", dungeonModel.dungeonResult.upPer);
- }
- else
- {
- m_ContainerNewRecord.gameObject.SetActive(false);
- }
- }
-
- protected virtual void DrawKillMonster()
- {
- if (dungeonModel.dungeonResult.npcTotal > 0)
- {
- m_ContainerKillMonster.gameObject.SetActive(true);
- m_KillMonsterCnt.text = dungeonModel.dungeonResult.npcTotal.ToString();
- }
- else
- {
- m_ContainerKillMonster.gameObject.SetActive(false);
- }
-
- }
-
- protected virtual void DrawGetExp(bool _force = false)
- {
- if (m_ContainerExp != null)
- {
- if (dungeonModel.dungeonResult.totalExp > 0 || _force)
- {
- m_ContainerExp.gameObject.SetActive(true);
- m_Experience.text = UIHelper.ReplaceLargeNum((ulong)dungeonModel.dungeonResult.totalExp);
- }
- else
- {
- m_ContainerExp.gameObject.SetActive(false);
- }
- }
-
- }
-
- protected virtual void DrawPassTime()
- {
- m_ContainerPassTime.gameObject.SetActive(dungeonModel.dungeonResult.costTime > 0);
- m_PassTime.text = StringUtility.Contact((int)(dungeonModel.dungeonResult.costTime * 0.001f), Language.Get("RealmWin_Bewrite_35"));
- }
-
- protected virtual void DrawGetMoney()
- {
- if (m_ContainerMoney != null)
- {
- m_ContainerMoney.gameObject.SetActive(false);
- }
-
- if (m_ContainerMagicEssence != null)
- {
- m_ContainerMagicEssence.gameObject.SetActive(false);
- }
-
- if (m_ContainerEssence != null)
- {
- m_ContainerEssence.gameObject.SetActive(false);
- }
-
- if (dungeonModel.dungeonResult.money != null && dungeonModel.dungeonResult.money.Length > 0)
- {
- var dungeonMoney = dungeonModel.dungeonResult.money;
- for (int i = 0; i < dungeonMoney.Length; i++)
- {
- var money = dungeonMoney[i];
- switch (money.moneyType)
- {
- case 3:
- if (m_ContainerMoney != null && money.moneyValue > 0)
- {
- m_ContainerMoney.gameObject.SetActive(true);
- m_Money.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
- }
- break;
- case 14:
- if (m_ContainerMagicEssence != null && money.moneyValue > 0)
- {
- m_ContainerMagicEssence.gameObject.SetActive(true);
- m_MagicEssence.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
- }
- break;
- case 23:
- if (m_ContainerEssence != null && money.moneyValue > 0)
- {
- m_ContainerEssence.gameObject.SetActive(true);
- m_Essence.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
- }
- break;
- }
- }
- }
-
- }
-
- protected virtual void DrawSP()
- {
- var mapId = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
- if (dungeonModel.dungeonResult.sp > 0)
- {
- m_ContainerSP.gameObject.SetActive(true);
- m_SP.text = dungeonModel.dungeonResult.sp.ToString();
- }
- else
- {
- m_ContainerSP.gameObject.SetActive(false);
- }
- }
-
- IEnumerator Co_DelayDisplay(float _delay)
- {
- yield return new WaitForSeconds(_delay);
- Display();
- }
-
- protected virtual void RequireDungeonExit()
- {
- m_Exit.gameObject.SetActive(true);
- var endTime = dungeonModel.GetDungeonCoolDownEndTime(DungeonCoolDownType.LeaveMap);
- var seconds = (endTime - DateTime.Now).TotalSeconds;
- timer = (float)seconds - (int)seconds;
-
- DrawExitTimer((int)seconds);
- }
-
- protected virtual void Display()
- {
- m_ContainerPoivt.gameObject.SetActive(true);
- RequireDungeonExit();
- DrawPassTime();
- DrawGetExp();
- DrawGetMoney();
- DrawItemRewards();
- DrawPassGrade();
- DrawSP();
- DrawKillMonster();
- DrawNewRecord();
- }
-
- protected int CompareTrialItemIndex(ServerItem x, ServerItem y)
- {
- var config_x = ConfigManager.Instance.GetTemplate<ItemConfig>(x.ItemID);
- var config_y = ConfigManager.Instance.GetTemplate<ItemConfig>(y.ItemID);
- bool equip_x = config_x.Type >= 101 && config_x.Type <= 109;
- bool equip_y = config_y.Type >= 101 && config_y.Type <= 109;
- if (equip_x.CompareTo(equip_y) != 0)
- {
- return equip_x.CompareTo(equip_y);
- }
- if (!equip_x && !equip_y)
- {
- bool type_13_x = config_x.Type == 13;
- bool type_13_y = config_y.Type == 13;
- if (type_13_x.CompareTo(type_13_y) != 0)
- {
- return -type_13_x.CompareTo(type_13_y);
- }
- if (config_x.ItemColor.CompareTo(config_y.ItemColor) != 0)
- {
- return -config_x.ItemColor.CompareTo(config_y.ItemColor);
- }
- return x.ItemID.CompareTo(y.ItemID);
- }
- else
- {
- bool type_108109_x = config_x.Type >= 108;
- bool type_108109_y = config_y.Type >= 108;
- if (type_108109_x || type_108109_y)
- {
- if (config_x.Type.CompareTo(config_y.Type) != 0)
- {
- return -config_x.Type.CompareTo(config_y.Type);
- }
- }
- if (config_x.ItemColor.CompareTo(config_y.ItemColor) != 0)
- {
- return -config_x.ItemColor.CompareTo(config_y.ItemColor);
- }
- if (config_x.StarLevel.CompareTo(config_y.StarLevel) != 0)
- {
- return -config_x.StarLevel.CompareTo(config_y.StarLevel);
- }
- if (config_x.LV.CompareTo(config_y.LV) != 0)
- {
- return -config_x.LV.CompareTo(config_y.LV);
- }
- return x.ItemID.CompareTo(y.ItemID);
- }
- }
- }
-}
-
-
-
-
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, September 12, 2017
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using TableConfig;
+
+namespace Snxxz.UI
+{
+
+ public class DungeonVictoryWin : Window
+ {
+ [SerializeField] protected Transform m_ContainerPoivt;
+ [SerializeField, Header("閫氬叧鏃堕棿")] Transform m_ContainerPassTime;
+ [SerializeField] Text m_PassTime;
+ [SerializeField, Header("缁忛獙")] protected Transform m_ContainerExp;
+ [SerializeField] Text m_Experience;
+ [SerializeField, Header("閲戦挶")] protected Transform m_ContainerMoney;
+ [SerializeField] Text m_Money;
+ [SerializeField, Header("绮惧崕")] protected Transform m_ContainerEssence;
+ [SerializeField] Text m_Essence;
+ [SerializeField, Header("榄旀櫠")] protected Transform m_ContainerMagicEssence;
+ [SerializeField] Text m_MagicEssence;
+ [SerializeField, Header("閫�鍑烘寜閽�")] ButtonEx m_Exit;
+ [SerializeField] protected Text m_ExitTimer;
+ [SerializeField, Header("璇勭骇")] GameObject m_GradeBottom;
+ [SerializeField] Image m_Grade;
+ [SerializeField, Header("鏉�鎬暟閲�")] protected Transform m_ContainerKillMonster;
+ [SerializeField] Text m_KillMonsterCnt;
+ [SerializeField, Header("鏂拌褰�")] protected Transform m_ContainerNewRecord;
+ [SerializeField] Text m_Record;
+ [SerializeField, Header("Sp")] protected Transform m_ContainerSP;
+ [SerializeField] Text m_SP;
+ [SerializeField, Header("鐗╁搧濂栧姳")] protected Transform m_ContainerReward;
+ [SerializeField] protected ItemBehaviour m_SpecialItemCollect;
+ [SerializeField] protected DungeonRewardItem[] passRewardBehaviours;
+ [SerializeField] protected ScaleTween[] m_RewardTweens;
+
+ protected DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
+ protected float timer = 0f;
+
+ protected List<int> m_RewardIndexs = new List<int>();
+
+ private List<ServerItem> m_RewardSorts = new List<ServerItem>();
+
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ if (m_Exit != null)
+ {
+ m_Exit.AddListener(ExitDungeon);
+ }
+ }
+
+ protected override void OnPreOpen()
+ {
+ timer = 0f;
+ if (m_ContainerMagicEssence != null)
+ {
+ m_ContainerMagicEssence.gameObject.SetActive(false);
+ }
+ if (m_ContainerEssence != null)
+ {
+ m_ContainerEssence.gameObject.SetActive(false);
+ }
+ if (m_ContainerMoney != null)
+ {
+ m_ContainerMoney.gameObject.SetActive(false);
+ }
+ if (m_ContainerReward != null)
+ {
+ m_ContainerReward.gameObject.SetActive(false);
+ }
+ if (m_ContainerNewRecord != null)
+ {
+ m_ContainerNewRecord.gameObject.SetActive(false);
+ }
+ if (m_ContainerKillMonster != null)
+ {
+ m_ContainerKillMonster.gameObject.SetActive(false);
+ }
+ if (m_ContainerPoivt != null)
+ {
+ m_ContainerPoivt.gameObject.SetActive(false);
+ }
+ }
+
+ protected override void OnAfterOpen()
+ {
+ }
+
+ protected override void OnPreClose()
+ {
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+
+ protected override void OnActived()
+ {
+ base.OnActived();
+ var config = Config.Instance.Get<DungeonOpenTimeConfig>(dungeonModel.dungeonResult.dataMapID);
+ StartCoroutine(Co_DelayDisplay(config.DelayTime * 0.001f));
+ }
+ #endregion
+
+ protected override void LateUpdate()
+ {
+ base.LateUpdate();
+
+ if (m_ExitTimer != null && !m_ExitTimer.gameObject.activeInHierarchy)
+ {
+ m_ExitTimer.gameObject.SetActive(true);
+ }
+
+ timer -= Time.deltaTime;
+ if (timer < 0f)
+ {
+ timer += 0.5f;
+ var endTime = dungeonModel.GetDungeonCoolDownEndTime(DungeonCoolDownType.LeaveMap);
+ var seconds = (endTime - DateTime.Now).TotalSeconds;
+ DrawExitTimer((int)seconds);
+ }
+ }
+
+ private void ExitDungeon()
+ {
+ dungeonModel.ExitCurrentDungeon();
+ }
+
+ protected virtual void DrawExitTimer(int seconds)
+ {
+ if (m_ExitTimer != null)
+ {
+ m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp(seconds, 0, int.MaxValue));
+ }
+ }
+
+ protected virtual void DrawItemRewards()
+ {
+ var merged = false;
+ var serveritems = dungeonModel.dungeonResult.itemInfo;
+ var hasReward = (serveritems != null && serveritems.Length > 0) || dungeonModel.specialItemCollectRecord.count > 0;
+
+ m_ContainerReward.gameObject.SetActive(hasReward);
+
+ m_RewardSorts.Clear();
+ if (serveritems != null)
+ {
+ m_RewardSorts.AddRange(serveritems);
+ int _mapid = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
+ if (_mapid == 60010 || _mapid == 31130)
+ {
+ m_RewardSorts.Sort(CompareTrialItemIndex);
+ }
+ }
+
+ m_RewardIndexs.Clear();
+ if (m_RewardTweens != null && m_RewardTweens.Length > 0)
+ {
+ for (int i = 0; i < m_RewardTweens.Length; i++)
+ {
+ m_RewardTweens[i].SetEndState();
+ }
+ }
+ if (m_RewardSorts.Count > 0)
+ {
+ var items = new List<ItemModel>();
+ for (int i = 0; i < m_RewardSorts.Count; i++)
+ {
+ var serverItem = m_RewardSorts[i];
+ var itemModel = new ItemModel(PackType.rptItem);
+ var itemInfo = new ItemInfo();
+ itemInfo.ItemID = serverItem.ItemID;
+
+ if (!merged && itemInfo.ItemID == dungeonModel.specialItemCollectRecord.id)
+ {
+ itemInfo.ItemCount = serverItem.Count + dungeonModel.specialItemCollectRecord.count;
+ merged = true;
+ }
+ else
+ {
+ itemInfo.ItemCount = serverItem.Count;
+ }
+ itemInfo.IsBind = serverItem.IsBind;
+ itemInfo.IsSuite = serverItem.IsSuite;
+ itemInfo.UserData = serverItem.UserData;
+
+ itemModel.SetItemModel(itemInfo);
+ items.Add(itemModel);
+ }
+
+ for (int i = 0; i < passRewardBehaviours.Length; i++)
+ {
+ var behaviour = passRewardBehaviours[i];
+ if (i < items.Count)
+ {
+ behaviour.transform.parent.gameObject.SetActive(true);
+ behaviour.gameObject.SetActive(false);
+ behaviour.serverItem = m_RewardSorts[i];
+ behaviour.Init(items[i]);
+ m_RewardIndexs.Add(m_SpecialItemCollect == null ? i : i + 1);
+ }
+ else
+ {
+ behaviour.transform.parent.gameObject.SetActive(false);
+ behaviour.gameObject.SetActive(false);
+ }
+ }
+
+ if (m_SpecialItemCollect != null)
+ {
+ if (!merged && dungeonModel.specialItemCollectRecord.count > 0)
+ {
+ m_SpecialItemCollect.transform.parent.gameObject.SetActive(true);
+ m_SpecialItemCollect.gameObject.SetActive(false);
+ m_SpecialItemCollect.SetItem(dungeonModel.specialItemCollectRecord);
+ m_RewardIndexs.Insert(0, 0);
+ }
+ else
+ {
+ m_SpecialItemCollect.transform.parent.gameObject.SetActive(false);
+ m_SpecialItemCollect.gameObject.SetActive(false);
+ }
+ }
+
+ }
+ if (m_RewardIndexs.Count > 0 && m_RewardTweens != null && m_RewardTweens.Length > 0)
+ {
+ PlayRewardTween(0);
+ }
+ }
+
+ protected virtual void PlayRewardTween(int _playIndex)
+ {
+ if (_playIndex < m_RewardIndexs.Count)
+ {
+ var _index = m_RewardIndexs[_playIndex];
+ if (_index < m_RewardTweens.Length)
+ {
+ m_RewardTweens[_index].SetStartState();
+ m_RewardTweens[_index].gameObject.SetActive(true);
+ m_RewardTweens[_index].Play(() =>
+ {
+ _playIndex += 1;
+ PlayRewardTween(_playIndex);
+ });
+ }
+ }
+ }
+
+ protected virtual void DrawPassGrade()
+ {
+ if (m_Grade != null)
+ {
+ var grade = dungeonModel.dungeonResult.grade;
+ if (grade > 0)
+ {
+ m_GradeBottom.SetActive(true);
+ switch (grade)
+ {
+ case 5:
+ m_Grade.SetSprite("Remark_S");
+ m_Grade.SetNativeSize();
+ break;
+ case 4:
+ m_Grade.SetSprite("Remark_A");
+ m_Grade.SetNativeSize();
+ break;
+ case 3:
+ m_Grade.SetSprite("Remark_B");
+ m_Grade.SetNativeSize();
+ break;
+ case 2:
+ m_Grade.SetSprite("Remark_C");
+ m_Grade.SetNativeSize();
+ break;
+ case 1:
+ m_Grade.SetSprite("Remark_D");
+ m_Grade.SetNativeSize();
+ break;
+ default:
+ break;
+ }
+ m_Grade.SetNativeSize();
+ }
+ else
+ {
+ m_GradeBottom.SetActive(false);
+ }
+ }
+
+ }
+
+ protected virtual void DrawNewRecord()
+ {
+ if (dungeonModel.dungeonResult.upPer > 0)
+ {
+ m_ContainerNewRecord.gameObject.SetActive(true);
+ m_Record.text = Language.Get("FairyLand_Func26", dungeonModel.dungeonResult.upPer);
+ }
+ else
+ {
+ m_ContainerNewRecord.gameObject.SetActive(false);
+ }
+ }
+
+ protected virtual void DrawKillMonster()
+ {
+ if (dungeonModel.dungeonResult.npcTotal > 0)
+ {
+ m_ContainerKillMonster.gameObject.SetActive(true);
+ m_KillMonsterCnt.text = dungeonModel.dungeonResult.npcTotal.ToString();
+ }
+ else
+ {
+ m_ContainerKillMonster.gameObject.SetActive(false);
+ }
+
+ }
+
+ protected virtual void DrawGetExp(bool _force = false)
+ {
+ if (m_ContainerExp != null)
+ {
+ if (dungeonModel.dungeonResult.totalExp > 0 || _force)
+ {
+ m_ContainerExp.gameObject.SetActive(true);
+ m_Experience.text = UIHelper.ReplaceLargeNum((ulong)dungeonModel.dungeonResult.totalExp);
+ }
+ else
+ {
+ m_ContainerExp.gameObject.SetActive(false);
+ }
+ }
+
+ }
+
+ protected virtual void DrawPassTime()
+ {
+ m_ContainerPassTime.gameObject.SetActive(dungeonModel.dungeonResult.costTime > 0);
+ m_PassTime.text = StringUtility.Contact((int)(dungeonModel.dungeonResult.costTime * 0.001f), Language.Get("RealmWin_Bewrite_35"));
+ }
+
+ protected virtual void DrawGetMoney()
+ {
+ if (m_ContainerMoney != null)
+ {
+ m_ContainerMoney.gameObject.SetActive(false);
+ }
+
+ if (m_ContainerMagicEssence != null)
+ {
+ m_ContainerMagicEssence.gameObject.SetActive(false);
+ }
+
+ if (m_ContainerEssence != null)
+ {
+ m_ContainerEssence.gameObject.SetActive(false);
+ }
+
+ if (dungeonModel.dungeonResult.money != null && dungeonModel.dungeonResult.money.Length > 0)
+ {
+ var dungeonMoney = dungeonModel.dungeonResult.money;
+ for (int i = 0; i < dungeonMoney.Length; i++)
+ {
+ var money = dungeonMoney[i];
+ switch (money.moneyType)
+ {
+ case 3:
+ if (m_ContainerMoney != null && money.moneyValue > 0)
+ {
+ m_ContainerMoney.gameObject.SetActive(true);
+ m_Money.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
+ }
+ break;
+ case 14:
+ if (m_ContainerMagicEssence != null && money.moneyValue > 0)
+ {
+ m_ContainerMagicEssence.gameObject.SetActive(true);
+ m_MagicEssence.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
+ }
+ break;
+ case 23:
+ if (m_ContainerEssence != null && money.moneyValue > 0)
+ {
+ m_ContainerEssence.gameObject.SetActive(true);
+ m_Essence.text = UIHelper.ReplaceLargeNum((ulong)money.moneyValue);
+ }
+ break;
+ }
+ }
+ }
+
+ }
+
+ protected virtual void DrawSP()
+ {
+ var mapId = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
+ if (dungeonModel.dungeonResult.sp > 0)
+ {
+ m_ContainerSP.gameObject.SetActive(true);
+ m_SP.text = dungeonModel.dungeonResult.sp.ToString();
+ }
+ else
+ {
+ m_ContainerSP.gameObject.SetActive(false);
+ }
+ }
+
+ IEnumerator Co_DelayDisplay(float _delay)
+ {
+ yield return new WaitForSeconds(_delay);
+ Display();
+ }
+
+ protected virtual void RequireDungeonExit()
+ {
+ if (m_Exit != null)
+ {
+ m_Exit.gameObject.SetActive(true);
+ }
+ var endTime = dungeonModel.GetDungeonCoolDownEndTime(DungeonCoolDownType.LeaveMap);
+ var seconds = (endTime - DateTime.Now).TotalSeconds;
+ timer = (float)seconds - (int)seconds;
+
+ DrawExitTimer((int)seconds);
+ }
+
+ protected virtual void Display()
+ {
+ m_ContainerPoivt.gameObject.SetActive(true);
+ RequireDungeonExit();
+ DrawPassTime();
+ DrawGetExp();
+ DrawGetMoney();
+ DrawItemRewards();
+ DrawPassGrade();
+ DrawSP();
+ DrawKillMonster();
+ DrawNewRecord();
+ }
+
+ protected int CompareTrialItemIndex(ServerItem x, ServerItem y)
+ {
+ var config_x = Config.Instance.Get<ItemConfig>(x.ItemID);
+ var config_y = Config.Instance.Get<ItemConfig>(y.ItemID);
+ bool equip_x = config_x.Type >= 101 && config_x.Type <= 109;
+ bool equip_y = config_y.Type >= 101 && config_y.Type <= 109;
+ if (equip_x.CompareTo(equip_y) != 0)
+ {
+ return equip_x.CompareTo(equip_y);
+ }
+ if (!equip_x && !equip_y)
+ {
+ bool type_13_x = config_x.Type == 13;
+ bool type_13_y = config_y.Type == 13;
+ if (type_13_x.CompareTo(type_13_y) != 0)
+ {
+ return -type_13_x.CompareTo(type_13_y);
+ }
+ if (config_x.ItemColor.CompareTo(config_y.ItemColor) != 0)
+ {
+ return -config_x.ItemColor.CompareTo(config_y.ItemColor);
+ }
+ return x.ItemID.CompareTo(y.ItemID);
+ }
+ else
+ {
+ bool type_108109_x = config_x.Type >= 108;
+ bool type_108109_y = config_y.Type >= 108;
+ if (type_108109_x || type_108109_y)
+ {
+ if (config_x.Type.CompareTo(config_y.Type) != 0)
+ {
+ return -config_x.Type.CompareTo(config_y.Type);
+ }
+ }
+ if (config_x.ItemColor.CompareTo(config_y.ItemColor) != 0)
+ {
+ return -config_x.ItemColor.CompareTo(config_y.ItemColor);
+ }
+ if (config_x.StarLevel.CompareTo(config_y.StarLevel) != 0)
+ {
+ return -config_x.StarLevel.CompareTo(config_y.StarLevel);
+ }
+ if (config_x.LV.CompareTo(config_y.LV) != 0)
+ {
+ return -config_x.LV.CompareTo(config_y.LV);
+ }
+ return x.ItemID.CompareTo(y.ItemID);
+ }
+ }
+ }
+}
+
+
+
+
--
Gitblit v1.8.0