You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

133 lines
5.2 KiB

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<Image>();
txtTitle = transform.Find("txtTabTitle").GetComponent<TextMeshProUGUI>();
txtExplain = transform.Find("txtTabExplain").GetComponent<TextMeshProUGUI>();
objSingleTimer = transform.Find("bgTime").gameObject;
txtSingleTimer = objSingleTimer.transform.Find("txtTabLimitTime").GetComponent<TextMeshProUGUI>();
objDoubleTimer = transform.Find("bgDoubleTime").gameObject;
txtDoubleTimer = objDoubleTimer.transform.Find("txtTabLimitTime").GetComponent<TextMeshProUGUI>();
txtDoubleTimerShop = objDoubleTimer.transform.Find("txtTabLimitShopTime").GetComponent<TextMeshProUGUI>();
objLockTimer = transform.Find("LockEvent").gameObject;
txtLockTimer = objLockTimer.transform.Find("txtLockTimer").GetComponent<TextMeshProUGUI>();
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
}