//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, September 26, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System.Collections.Generic;
|
using System;
|
using System.Linq;
|
|
|
namespace vnxbqy.UI {
|
|
public class MissionActCell : CellView {
|
[SerializeField] Text missionText;
|
[SerializeField] List<ItemCell> itemCells;
|
[SerializeField] Button getGiftBtn;
|
[SerializeField] Image gotYetImg;
|
[SerializeField] Button goBtn;
|
|
MissionActModel model { get { return ModelCenter.Instance.GetModel<MissionActModel>(); } }
|
|
|
public void Display(int id)
|
{
|
OperationMissionAct missionAct;
|
OperationTimeHepler.Instance.TryGetOperation(MissionActModel.operaType, out missionAct);
|
var mission = missionAct.missionInfo[id];
|
missionText.text = Language.Get("MissionActType_" + mission.TaskType, Math.Min(model.missionValueDict[mission.TaskType], mission.NeedValue), mission.NeedValue);
|
var awards = mission.AwardItemList;
|
for (int i = 0; i < itemCells.Count; i++)
|
{
|
if (i < awards.Length)
|
{
|
var award = awards[i];
|
itemCells[i].SetActive(true);
|
var itemData = new ItemCellModel((int)award.ItemID, false, award.ItemCount);
|
itemCells[i].Init(itemData);
|
itemCells[i].button.SetListener(() =>
|
{
|
ItemTipUtility.Show((int)award.ItemID);
|
});
|
}
|
else
|
{
|
itemCells[i].SetActive(false);
|
}
|
}
|
var state = model.GetMissionAwardState(id);
|
goBtn.SetActive(state == 0);
|
goBtn.SetListener(() =>
|
{
|
WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)model.missionJumpIDs[mission.TaskType]);
|
});
|
getGiftBtn.SetActive(state == 1);
|
getGiftBtn.SetListener(() =>
|
{
|
GetAllAward();
|
});
|
gotYetImg.SetActive(state == 2);
|
|
}
|
|
//一键领取并且 提前展示奖励
|
void GetAllAward()
|
{
|
List<Item> items = new List<Item>();
|
OperationMissionAct missionAct;
|
OperationTimeHepler.Instance.TryGetOperation(MissionActModel.operaType, out missionAct);
|
|
|
var keys = missionAct.missionInfo.Keys.ToList();
|
foreach(var id in keys)
|
{
|
var state = model.GetMissionAwardState(id);
|
if (state == 1)
|
{
|
model.SendGetAward(id);
|
//var mission = missionAct.missionInfo[id];
|
//foreach (var item in mission.AwardItemList)
|
//{
|
// items.Add(new Item((int)item.ItemID, item.ItemCount));
|
//}
|
}
|
}
|
|
//ItemLogicUtility.Instance.ShowGetItem(items, "", 0);
|
}
|
}
|
|
}
|