63 lines
2.6 KiB
C#
63 lines
2.6 KiB
C#
using asap.core;
|
|
using GameCore;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class ComebackGiftPopupPanel : MonoBehaviour
|
|
{
|
|
List<RewardItemNew> rewards = new List<RewardItemNew>();
|
|
Button reward_button;
|
|
EventWelcomeBackManager eventWelcomeBackManager;
|
|
PlayerItemData playerItemData;
|
|
List<ItemData> itemDatas = new List<ItemData>();
|
|
private void Awake()
|
|
{
|
|
playerItemData = GContext.container.Resolve<PlayerItemData>();
|
|
eventWelcomeBackManager = new EventWelcomeBackManager();
|
|
rewards = new List<RewardItemNew>();
|
|
rewards.Add(transform.Find("root/reward/reward1").GetComponent<RewardItemNew>());
|
|
rewards.Add(transform.Find("root/reward/reward2").GetComponent<RewardItemNew>());
|
|
reward_button = transform.Find("root/btn_cliam/btn_green").GetComponent<Button>();
|
|
}
|
|
void Start()
|
|
{
|
|
eventWelcomeBackManager.LoadData();
|
|
reward_button.onClick.AddListener(OnClickReward);
|
|
var config = eventWelcomeBackManager.eventWelcomeBackConfig;
|
|
|
|
float energy = GContext.container.Resolve<PlayerData>().Energy * config.WelcomeBackLureParam2 / config.WelcomeBackLureParam1[0];
|
|
int lureCount = Mathf.RoundToInt(energy) * config.WelcomeBackLureParam1[0];
|
|
lureCount = Mathf.Clamp(lureCount, config.WelcomeBackLureParam1[0], config.WelcomeBackLureParam1[1]);
|
|
ItemData lure = new ItemData(1001, lureCount);
|
|
itemDatas.Add(lure);
|
|
rewards[0].SetData(lure);
|
|
int cashCount = playerItemData.GetExtraCoinMag(config.WelcomeBackLureParam2);
|
|
int minCash = GContext.container.Resolve<CampDataMM>().GetNextStepRequired(config.WelcomeBackCashParam1);
|
|
cashCount = Mathf.Max(cashCount, minCash);
|
|
ItemData cash = new ItemData(1002, cashCount);
|
|
itemDatas.Add(cash);
|
|
rewards[1].SetData(cash);
|
|
}
|
|
|
|
async void OnClickReward()
|
|
{
|
|
playerItemData.AddItem(itemDatas, null);
|
|
rewards[0].ParticleAttractor();
|
|
rewards[1].ParticleAttractor();
|
|
reward_button.enabled = false;
|
|
#if AGG
|
|
using (var e = GEvent.GameEvent("event_welcomeback_login"))
|
|
{
|
|
e.AddContent("offline_time", eventWelcomeBackManager.welcomeBackData.offlineDays)
|
|
.AddContent("event_count", eventWelcomeBackManager.welcomeBackData.eventCount)
|
|
.AddContent("reward_lure", itemDatas[0].count)
|
|
.AddContent("reward_cash", itemDatas[1].count);
|
|
}
|
|
#endif
|
|
await Awaiters.Seconds(2);
|
|
GContext.Publish(new ClaimComeBack() { state = 1 });
|
|
UIManager.Instance.DestroyUI(gameObject.name);
|
|
}
|
|
}
|