//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 21, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.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; FairyLeagueModel model { get { return ModelCenter.Instance.GetModel(); } } #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.gameObject.SetActive(!PlayerDatas.Instance.fairyData.HasFairy); m_ContainerHasFairy.gameObject.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 _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].gameObject.SetActive(job == (i + 1)); if ((i + 1) == job) { _rawImage = m_RawWeapons[i]; _angle = m_WeaponAngles[i]; } } var config = Config.Instance.Get(_weaponId); UI3DModelExhibition.Instance.ShowEquipment(config.ChangeOrd, _angle, _rawImage); } } }