hch
1 天以前 89fa96e505af9fe7baf676591222bfdb23b48262
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
using UnityEngine;
using UnityEngine.UI;
 
public class PhantasmPavilionModelItem : MonoBehaviour
{
    [SerializeField] EllipseMask mask;
    [SerializeField] ImageEx imgBg;
    [SerializeField] ImageEx imgFace;
    [SerializeField] Button btnChoose;
 
    [SerializeField] ImageEx imgLimit;
    [SerializeField] ImageEx imgLock;
    [SerializeField] ImageEx imgChoose;
    [SerializeField] ImageEx imgCanUnlock;
    [SerializeField] TextEx txtUsing;
    [SerializeField] Image imgRed;
 
    readonly PhantasmPavilionType type = PhantasmPavilionType.Model;
    int id;
    PhantasmPavilionManager manager { get { return PhantasmPavilionManager.Instance; } }
    public void Display(int id)
    {
        this.id = id;
        btnChoose.SetListener(() =>
        {
            manager.selectId = id;
        });
 
        PhantasmPavilionState state = manager.GetUnLockState(type, id);
        bool isLimitedTime = manager.IsLimitTime(type, id);
        bool isUsing = manager.IsUsing(type, id);
        imgChoose.SetActive(manager.selectId == id);
        imgLimit.SetActive(state == PhantasmPavilionState.Activated && isLimitedTime);
        imgLock.SetActive(state != PhantasmPavilionState.Activated);
        imgCanUnlock.SetActive(state == PhantasmPavilionState.CanActivate);
        txtUsing.SetActive(state == PhantasmPavilionState.Activated && isUsing);
 
        if (!ModelConfig.HasKey(id))
            return;
        ModelConfig model = ModelConfig.Get(id);
        int skinID = model.SkinID;
        if (!HeroSkinConfig.HasKey(skinID))
            return;
        HeroSkinConfig skinConfig = HeroSkinConfig.Get(skinID);
        var sprite = UILoader.LoadSprite("HeroHead", skinConfig.SquareIcon);
        if (sprite == null)
        {
            // 内网未配置时
            imgFace.SetSprite("herohead_default");
        }
        else
        {
            imgFace.overrideSprite = sprite;
        }
 
        int resourceType = manager.GetResourceType(type, id);
        string resourceValue = manager.GetResourceValue(type, id);
 
        imgBg.SetSprite(model.FaceBg);
 
        manager.UpdateItemRedPoint(imgRed, type, id);
    }
}