using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class RedPackBehaviour : MonoBehaviour { [SerializeField] Text m_PlayerName; [SerializeField] AvatarCell m_PlayerIcon; [SerializeField] RectTransform m_OpenBtn; [SerializeField] Button m_EnvelopeDetailBtn; [SerializeField] RectTransform m_ContainerUnOpen; [SerializeField] Text m_GetedLabel; [SerializeField] Text m_NoneLabel; [SerializeField] Text m_RedEnvelopeWish; RedEnvelopeModel m_Model; RedEnvelopeModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } public int envelopeId { get; private set; } public void Init(int _id) { envelopeId = _id; UpdateEnvelope(); } private void OnEnable() { UpdateEnvelope(); } private void UpdateEnvelope() { RedEnvelopeModel.RedEnvelope _envelope; m_EnvelopeDetailBtn.onClick.RemoveAllListeners(); if (model.TryGetEnvelope(envelopeId, out _envelope)) { m_PlayerName.text = _envelope.playerName; m_PlayerIcon.InitUI(AvatarHelper.GetAvatarModel(_envelope.player, _envelope.face, _envelope.facePic, _envelope.job % 10)); m_OpenBtn.SetActive(_envelope.state == 1); m_ContainerUnOpen.SetActive(_envelope.state == 2 || _envelope.state == 3); m_GetedLabel.SetActive(_envelope.state == 2); m_NoneLabel.SetActive(_envelope.state == 3); m_RedEnvelopeWish.text = _envelope.Wish.Equals(string.Empty) ? Language.Get("Z1057") : _envelope.Wish; m_EnvelopeDetailBtn.onClick.AddListener(() => { if (_envelope.state == 1) { ModelCenter.Instance.GetModel().RedBagId = _envelope.id; WindowCenter.Instance.Open(); } if (_envelope.state == 2 || _envelope.state == 3) { model.SendOpenRedpackPackage(_envelope.id, _envelope.type); } }); } } private void OnDisable() { } } }