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(id); 
 | 
        }); 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |