using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
/// <summary>
|
/// 官职任务
|
/// </summary>
|
public class OfficialUpCell : MonoBehaviour
|
{
|
|
[SerializeField] Text stateName;
|
[SerializeField] Image stateImg;
|
[SerializeField] Image bgImg;
|
[SerializeField] Image finishImg;
|
[SerializeField] Image getAwardImg;
|
[SerializeField] GameObject getAwardEffect;
|
[SerializeField] Text taskName;
|
[SerializeField] Image taskProcess;
|
[SerializeField] Text taskProcessText;
|
[SerializeField] ItemCell taskReward;
|
[SerializeField] Button getBtn;
|
|
|
public void Display(int id)
|
{
|
var config = RealmLVUPTaskConfig.GetID(PlayerDatas.Instance.baseData.realmLevel, id);
|
var state = OfficialRankManager.Instance.GetMissionState(PlayerDatas.Instance.baseData.realmLevel, id);
|
stateName.text = Language.Get("L1129_" + state);
|
stateImg.SetSprite("OfficialMisionState" + state);
|
finishImg.SetActive(state == 2);
|
getAwardImg.SetActive(state == 1);
|
getAwardEffect.SetActive(state == 1);
|
bgImg.SetSprite(state == 0 ? "OfficialMissionBG0" : "OfficialMissionBG1");
|
switch (config.TaskType)
|
{
|
case 1:
|
case 3:
|
case 4:
|
taskName.text = Language.Get("OfficialMission" + config.TaskType, config.NeedValueList[0]);
|
break;
|
case 2:
|
var mainLVConfig = MainLevelConfig.Get(config.NeedValueList[0]);
|
taskName.text = Language.Get("OfficialMission2", mainLVConfig.ChapterID, mainLVConfig.LevelNum);
|
break;
|
}
|
int process;
|
int total;
|
OfficialRankManager.Instance.GetMissionProcess(id, out process, out total);
|
taskProcess.fillAmount = (float)process / total;
|
taskProcessText.text = process + "/" + total;
|
int itemID = config.AwardItemList[0][0];
|
taskReward.Init(new ItemCellModel(itemID, false, config.AwardItemList[0][1]));
|
taskReward.button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
|
getBtn.AddListener(() =>
|
{
|
if (state != 1)
|
return;
|
OfficialRankManager.Instance.RequestAllAwards();
|
});
|
|
}
|
|
}
|