| using System.Collections;  | 
| using System.Collections.Generic;  | 
| using UnityEngine;  | 
| namespace vnxbqy.UI  | 
| {  | 
|     public class DungeonSlayerVictoryWin : DungeonVictoryWin  | 
|     {  | 
|         List<Item> items = new List<Item>();  | 
|   | 
|         protected override void Display()  | 
|         {  | 
|             m_ContainerPoivt.SetActive(true);  | 
|             base.RequireDungeonExit();  | 
|             base.DrawPassTime();  | 
|   | 
|             m_ContainerExp.SetActive(false);  | 
|   | 
|             var result = dungeonModel.dungeonResult;  | 
|   | 
|             items.Clear();  | 
|   | 
|             if (result.totalExp > 0)  | 
|             {  | 
|                 items.Add(new Item()  | 
|                 {  | 
|                     itemId = GeneralDefine.expDisplayId,  | 
|                     count = result.totalExp,  | 
|                 });  | 
|             }  | 
|   | 
|             if (result.money != null && result.money.Length > 0)  | 
|             {  | 
|                 for (int i = 0; i < result.money.Length; i++)  | 
|                 {  | 
|                     var moneyType = result.money[i].moneyType;  | 
|                     if (GeneralDefine.moneyDisplayIds.ContainsKey(moneyType))  | 
|                     {  | 
|                         items.Add(new Item()  | 
|                         {  | 
|                             itemId = GeneralDefine.moneyDisplayIds[moneyType],  | 
|                             count = result.money[i].moneyValue,  | 
|                         });  | 
|                     }  | 
|                 }  | 
|             }  | 
|   | 
|             if (result.itemInfo != null)  | 
|             {  | 
|                 for (int i = 0; i < result.itemInfo.Length; i++)  | 
|                 {  | 
|                     items.Add(new Item()  | 
|                     {  | 
|                         itemId = result.itemInfo[i].ItemID,  | 
|                         count = result.itemInfo[i].Count,  | 
|                     });  | 
|                 }  | 
|             }  | 
|   | 
|             DrawItemRewards();  | 
|         }  | 
|   | 
|         protected override void DrawItemRewards()  | 
|         {  | 
|             var merged = false;  | 
|             var hasReward = items.Count > 0;  | 
|   | 
|             m_ContainerReward.SetActive(hasReward);  | 
|   | 
|             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 (items.Count > 0)  | 
|             {  | 
|                 var itemModels = new List<ItemCellModel>();  | 
|                 for (int i = 0; i < items.Count; i++)  | 
|                 {  | 
|                     if (!merged && items[i].itemId == dungeonModel.specialItemCollectRecord.id)  | 
|                     {  | 
|                         itemModels.Add(new ItemCellModel(items[i].itemId, true,  | 
|                             (ulong)items[i].count + (ulong)dungeonModel.specialItemCollectRecord.count));  | 
|                         merged = true;  | 
|                     }  | 
|                     else  | 
|                     {  | 
|                         itemModels.Add(new ItemCellModel(items[i].itemId, true, (ulong)items[i].count));  | 
|                     }  | 
|                 }  | 
|   | 
|                 for (int i = 0; i < passRewardBehaviours.Length; i++)  | 
|                 {  | 
|                     var behaviour = passRewardBehaviours[i];  | 
|                     if (i < itemModels.Count)  | 
|                     {  | 
|                         behaviour.transform.parent.SetActive(true);  | 
|                         behaviour.SetActive(false);  | 
|                         behaviour.Init(itemModels[i]);  | 
|                         m_RewardIndexs.Add(m_SpecialItemCollect == null ? i : i + 1);  | 
|                     }  | 
|                     else  | 
|                     {  | 
|                         behaviour.transform.parent.SetActive(false);  | 
|                         behaviour.SetActive(false);  | 
|                     }  | 
|                 }  | 
|   | 
|                 if (m_SpecialItemCollect != null)  | 
|                 {  | 
|                     if (!merged && dungeonModel.specialItemCollectRecord.count > 0)  | 
|                     {  | 
|                         m_SpecialItemCollect.transform.parent.SetActive(true);  | 
|                         m_SpecialItemCollect.SetActive(false);  | 
|                         m_SpecialItemCollect.SetItem(dungeonModel.specialItemCollectRecord);  | 
|                         m_RewardIndexs.Insert(0, 0);  | 
|                     }  | 
|                     else  | 
|                     {  | 
|                         m_SpecialItemCollect.transform.parent.SetActive(false);  | 
|                         m_SpecialItemCollect.SetActive(false);  | 
|                     }  | 
|                 }  | 
|   | 
|             }  | 
|             if (m_RewardIndexs.Count > 0 && m_RewardTweens != null && m_RewardTweens.Length > 0)  | 
|             {  | 
|                 PlayRewardTween(0);  | 
|             }  | 
|         }  | 
|   | 
|         public struct Item  | 
|         {  | 
|             public int itemId;  | 
|             public long count;  | 
|         }  | 
|     }  | 
| }  | 
|   |