Project_WL/Assets/Script/UI/Center/Mail/MailCard.cs

63 lines
2.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MailCard : CardBase
{
public UISprite[] sprites; // 0 아이콘
public UILabel[] labels; // 0 메시지, 1 남은 시간
ServerMailData m_ServerMailData;
public override void Set<T>(T _base)
{
base.Set(_base);
m_ServerMailData = _base as ServerMailData;
sprites[0].spriteName = DSUtil.Get_ItemSpriteInfo(m_ServerMailData.Item, m_ServerMailData.ID).Icon;
sprites[0].MakePixelPerfect();
if (sprites[0].width > 55 || sprites[0].height > 55)
sprites[0].SetDimensions(55, 55);
labels[0].text = m_ServerMailData.Msg;
var ts = m_ServerMailData.RemnantTime - ServerInfo.ServerTime;
if (ts.TotalDays < 1) labels[1].text = DSUtil.Format(145, ts.Hours, ts.Minutes);
else labels[1].text = DSUtil.Format(146, (int)ts.TotalDays);
}
public void OnClick_GetReward()
{
var item = m_ServerMailData.Item;
var id = m_ServerMailData.ID;
var amount = m_ServerMailData.RewardAmount;
var isShopItem = m_ServerMailData.IsShopItem > 0;
var sinfo = ServerInfo.Ins;
sinfo.Get_MailReward(m_ServerMailData.RemainTime,
error =>
{
switch (error)
{
case 3:
ToastUI.Ins.Set(144);
break;
default:
var obtainlst = sinfo.m_ServerData.Add_Item(new ItemData(item, id, amount, "mail", eUICardType.GetItem));
if (isShopItem)
{
var shopdata = table_shop.Ins.Get_Data(item, id);
if (shopdata != null)
obtainlst.AddRange(sinfo.m_ServerData.Add_Item(new ItemData(eItem.mClover, 0, shopdata.Mileage, DSUtil.Format("shop {0} {1}", item, id), eUICardType.GetItem)));
}
if (obtainlst.Count > 0) GetItemUI.Ins.Set(obtainlst);
sinfo.Write(() =>
{
if (obtainlst.Count > 0) GetItemUI.Ins.Show_Items();
});
break;
}
//GameUI.Ins.LobbyUI.Get_MailUI().Del_Mail(m_ServerMailData);
});
}
}