using IVDataFormat; using Spine; using TMPro; using UnityEngine; using UnityEngine.UI; public class EventTab : MonoBehaviour { public dEvent CurrentEvent { get; set; } [SerializeField] Image bg; Image imgEvent; TextMeshProUGUI txtTitle; TextMeshProUGUI txtExplain; GameObject objSingleTimer; TextMeshProUGUI txtSingleTimer; GameObject objDoubleTimer; TextMeshProUGUI txtDoubleTimer; TextMeshProUGUI txtDoubleTimerShop; GameObject objLockTimer; TextMeshProUGUI txtLockTimer; public void FirstOpen() { imgEvent = transform.Find("EventImage").GetComponent(); txtTitle = transform.Find("txtTabTitle").GetComponent(); txtExplain = transform.Find("txtTabExplain").GetComponent(); objSingleTimer = transform.Find("bgTime").gameObject; txtSingleTimer = objSingleTimer.transform.Find("txtTabLimitTime").GetComponent(); objDoubleTimer = transform.Find("bgDoubleTime").gameObject; txtDoubleTimer = objDoubleTimer.transform.Find("txtTabLimitTime").GetComponent(); txtDoubleTimerShop = objDoubleTimer.transform.Find("txtTabLimitShopTime").GetComponent(); objLockTimer = transform.Find("LockEvent").gameObject; txtLockTimer = objLockTimer.transform.Find("txtLockTimer").GetComponent(); switch (CurrentEvent.moveType) { case eEventMoveType.Exchange: case eEventMoveType.Roulette: case eEventMoveType.Raise: objSingleTimer.SetActive(false); objDoubleTimer.SetActive(true); break; default: objSingleTimer.SetActive(true); objDoubleTimer.SetActive(false); break; } SvConnectManager.Instance.RequestEventImage(CurrentEvent.path, SetImage); } public void SecondOpen() { SvConnectManager.Instance.RequestEventImage(CurrentEvent.path, SetImage); } public void Close() { imgEvent.sprite = null; } // 이벤트 세부 페이지 열기. public void BtnOpenEvent() { if (objSingleTimer.activeSelf) EventMgr.SOpenEvent(CurrentEvent.id, imgEvent.sprite, bg.color, txtTitle.text, txtExplain.text, txtSingleTimer.text, null, true); else EventMgr.SOpenEvent(CurrentEvent.id, imgEvent.sprite, bg.color, txtTitle.text, txtExplain.text, txtDoubleTimer.text, txtDoubleTimerShop.text, false); SoundMgr.Instance.PlaySfx(SoundName.BtnPress); } #region Event Image & TextSet public void BtnEvent(int key) { dEvent eventdata = DataHandler.GetEvent(key); if (eventdata == null) return; SvConnectManager.Instance.RequestEventImage(eventdata.path, SetImage); } public void SetImage(Sprite img) { imgEvent.sprite = img; int[] bgcolor = CurrentEvent.bgColor; bg.color = new Color(bgcolor[0] / 255f, bgcolor[1] / 255f, bgcolor[2] / 255f); TextSetting(); } public void TextSetting() { string strmovetype = ((int)CurrentEvent.moveType).ToString(); txtTitle.text = LocalizationText.GetText(FormatString.CombineAllString("event", strmovetype)); txtExplain.text = LocalizationText.GetText(FormatString.CombineAllString("eventdesc", strmovetype)); if(CurrentEvent.startAt > TimeUtils.Now()) { objSingleTimer.SetActive(false); objDoubleTimer.SetActive(false); objLockTimer.SetActive(true); txtLockTimer.text = FormatString.CombineAllString(FormatString.TextLeftTimeDH(CurrentEvent.startAt)); } else { objLockTimer.SetActive(false); switch (CurrentEvent.moveType) { case eEventMoveType.Attend10: txtSingleTimer.text = FormatString.CombineAllString(LocalizationText.GetText("event_time"), " : ", FormatString.TextLeftTimeDH(DataHandler.GetSysAttend()[(int)AttendMgr.AttendType.AttendTen].endAt)); break; case eEventMoveType.Attend7: txtSingleTimer.text = FormatString.CombineAllString(LocalizationText.GetText("event_time"), " : ", FormatString.TextLeftTimeDH(DataHandler.GetSysAttend()[(int)AttendMgr.AttendType.AttendSeven].endAt)); break; case eEventMoveType.Exchange: case eEventMoveType.Roulette: case eEventMoveType.Raise: txtDoubleTimer.text = FormatString.CombineAllString(LocalizationText.GetText("event_drop_time"), " : ", FormatString.TextLeftTimeDH(CurrentEvent.endAt)); txtDoubleTimerShop.text = FormatString.CombineAllString(LocalizationText.GetText("event_shop_time"), " : ", FormatString.TextLeftTimeDH(CurrentEvent.endAt.AddDays(3))); break; default: txtSingleTimer.text = FormatString.CombineAllString(LocalizationText.GetText("event_time"), " : ", FormatString.TextLeftTimeDH(CurrentEvent.endAt)); break; } } } #endregion }