少年修仙传客户端代码仓库
hch
2025-06-12 204ef05a831c9484e2abc561d27ecbff7c797453
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, September 21, 2018
//--------------------------------------------------------
 
using System;
using System.Collections;
using System.Collections.Generic;
 
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
 
    public class FairyLeagueNoticeWin : Window
    {
        [SerializeField] RectTransform m_ContainerNoFairy;
        [SerializeField] RectTransform m_ContainerHasFairy;
        [SerializeField] Button m_JoinFairy;
        [SerializeField] Button m_Goto;
        [SerializeField] RawImage[] m_RawWeapons;
        [SerializeField, Header("武器角度,职业1,2,3")] Vector3[] m_WeaponAngles;
        [SerializeField] float[] m_WeaponScales;
 
        FairyLeagueModel model { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
 
        protected override void AddListeners()
        {
            m_JoinFairy.onClick.AddListener(JoinFairy);
            m_Goto.onClick.AddListener(Goto);
        }
 
        protected override void OnPreOpen()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyInfo;
            model.SetViewLeagueNotice();
            Display();
            DisplayWeapons();
        }
 
        protected override void OnAfterOpen()
        {
 
        }
 
        protected override void OnPreClose()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyInfo;
            UI3DModelExhibition.Instance.StopShow();
        }
 
        protected override void OnAfterClose()
        {
 
        }
        #endregion
 
        void Display()
        {
            m_ContainerNoFairy.SetActive(!PlayerDatas.Instance.fairyData.HasFairy);
            m_ContainerHasFairy.SetActive(PlayerDatas.Instance.fairyData.HasFairy);
        }
 
        private void Goto()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc4);
        }
        private void JoinFairy()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc3);
        }
 
        private void OnRefreshFairyInfo()
        {
            Display();
        }
 
        void DisplayWeapons()
        {
            var job = PlayerDatas.Instance.baseData.Job;
            var _rawImage = m_RawWeapons[0];
            var _angle = m_WeaponAngles[0];
            var _scale = m_WeaponScales[0];
            var _weaponId = model.leagueNoticeWeapons.ContainsKey(job) ? model.leagueNoticeWeapons[job] : 0;
            if (_weaponId == 0)
            {
                return;
            }
            for (int i = 0; i < m_RawWeapons.Length; i++)
            {
                m_RawWeapons[i].SetActive(job == (i + 1));
                if ((i + 1) == job)
                {
                    _rawImage = m_RawWeapons[i];
                    _angle = m_WeaponAngles[i];
                    _scale = m_WeaponScales[i];
                }
            }
 
            var config = ItemConfig.Get(_weaponId);
            var spiritConfig = SpiritWeaponConfig.Get(_weaponId);
 
            UI3DModelExhibition.Instance.ShowEquipment(config.ChangeOrd, spiritConfig != null ? spiritConfig.Rotation : _angle,
               _scale, _rawImage);
        }
    }
 
}