yyl
19 小时以前 83ac773158875a9d6daad08ac9c199fd65406ba5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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();
        });
 
    }
 
}