mergemilitary/Assets/MMOModule/Scripts/MMOUIs/MMOUIDailyClaim.cs

71 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
namespace MMO
{
public class MMOUIDailyClaim : MMOUIPop
{
public Action DelClaimed;
[SerializeField] float mRotateSpeed;
[SerializeField] Transform mTsfGlow;
[SerializeField] Text mTxtDiamond;
[SerializeField] Button mBtnClaim;
private const int DAILYREWARD_TASKID = -1;
private MMODataTask mData;
private MMOTaskRecord mTaskRecord;
private void Update()
{
if (mTsfGlow != null)
{
mTsfGlow.Rotate(0, 0, mRotateSpeed * Time.unscaledDeltaTime);
}
}
protected override void OnInit()
{
base.OnInit();
BindBtn(mBtnClaim, OnClickClaim);
}
public override void OnOpen()
{
base.OnOpen();
mData = MMOTableTask.Instance.GetData(DAILYREWARD_TASKID);
mTaskRecord = MMOUserData.Instance.TaskRecordList.Find(pItem => pItem.TaskType == mData.TaskType);
mTxtDiamond.text = "+" + mData.RewardNum;
mBtnClaim.gameObject.SetActive(true);
}
private void OnClickClaim()
{
MMOUserData.Instance.RemoveTaskRecord(mTaskRecord.RecordID);
MMOUserData.Instance.FinishTask(mData.TaskType);
MMOUserData.Instance.Diamond += mData.RewardNum;
MMOModule.Instance.UIMgr.GetUI<MMOUITop>().DiamondBar.FlyRes(mTsfGlow.position, mData.RewardNum, MMOUserData.Instance.Diamond);
mBtnClaim.gameObject.SetActive(false);
MMOInnerSDKManager.Instance.LogRobuxAction(MMOEventValue.DailyBonus);
DelClaimed?.Invoke();
Invoke("PopOut", 1.5f);
}
public void Claim()
{
OnClickClaim();
}
}
}