//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, November 14, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI {
|
|
public class DemonTreasurePropertyWin : Window
|
{
|
[SerializeField] ScrollerController m_ScrollerControl;
|
|
TreasureModel model
|
{
|
get { return ModelCenter.Instance.GetModel<TreasureModel>(); }
|
}
|
|
static Dictionary<int, int> propertyDict = new Dictionary<int, int>();
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_ScrollerControl.OnRefreshCell += OnRefreshCell;
|
}
|
|
protected override void OnPreOpen()
|
{
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var propertyCell = cell as DemonTreasurePropertyCell;
|
var key = cell.index;
|
if (propertyDict.ContainsKey(key))
|
{
|
propertyCell.Display(key, propertyDict[key]);
|
}
|
}
|
|
private void Display()
|
{
|
propertyDict.Clear();
|
var list = model.GetTreasureCategory(TreasureCategory.Demon);
|
for (int i = 0; i < list.Count; i++)
|
{
|
TreasureDungeon treasureDungeon;
|
if (model.TryGetTreasureDungeon(list[i], out treasureDungeon))
|
{
|
for (int k = 0; k < treasureDungeon.dungeonInfos.Count; k++)
|
{
|
var dungeonInfo = treasureDungeon.dungeonInfos[k];
|
if (treasureDungeon.currentLevel >= dungeonInfo.level)
|
{
|
foreach (var key in dungeonInfo.propertyDict.Keys)
|
{
|
if (!propertyDict.ContainsKey(key))
|
{
|
propertyDict.Add(key, 0);
|
}
|
propertyDict[key] += dungeonInfo.propertyDict[key];
|
}
|
}
|
}
|
}
|
}
|
m_ScrollerControl.Refresh();
|
foreach (var key in propertyDict.Keys)
|
{
|
m_ScrollerControl.AddCell(ScrollerDataType.Header, key);
|
}
|
m_ScrollerControl.Restart();
|
}
|
|
}
|
|
}
|
|
|
|
|