lcy
2 天以前 f66c4b9ca61638b0e76f4f82e34d19ae2117c88b
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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");
        var type = config.TaskType;
        switch (type)
        {
            case 1:
            case 3:
            case 4:
                taskName.text = Language.Get("OfficialMission" + type, 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(() =>
        {
            if (state == 0)
            {
                UIManager.Instance.CloseWindow<OfficialUpWin>();
                NewBieCenter.Instance.StartNewBieGuide(OfficialRankManager.Instance.guideDict[type]);
                return;
            }
            else if (state == 2)
            {
                ItemTipUtility.Show(itemID);
                return;
            }
            
            OfficialRankManager.Instance.RequestAllAwards(id);
            
        });
 
        getBtn.AddListener(() =>
        {
            if (state == 0)
            {
                UIManager.Instance.CloseWindow<OfficialUpWin>();
                NewBieCenter.Instance.StartNewBieGuide(OfficialRankManager.Instance.guideDict[type]);
                return;
            }
            else if (state == 2)
            {
                return;
            }
            OfficialRankManager.Instance.RequestAllAwards(id);
        });
 
    }
 
}