Files
MinFt/Client/Assets/Scripts/UI/Setting/SignupDayItem.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

118 lines
3.7 KiB
C#

using asap.core;
using cfg;
using game;
using GameCore;
using System;
using System.Collections.Generic;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
public class SignupDayItem : MonoBehaviour
{
GameObject received;
GameObject bg;
GameObject claim_notice;
GameObject bg_today;
Button claim_btn;
Animation ani;
[NonSerialized]
public Animation icon_done;
RewardItemNew[] rewardItems;
int index;
SigninData signupData;
Tables tables;
List<ItemData> itemDatas;
int DropID;
[SerializeField] private GameObject NewYearSnow = null;
private void Awake()
{
received = transform.Find("received").gameObject;
bg = transform.Find("bg").gameObject;
claim_notice = transform.Find("claim_notice").gameObject;
bg_today = transform.Find("bg_today").gameObject;
claim_btn = GetComponent<Button>();
ani = GetComponent<Animation>();
icon_done = transform.Find("received/icon_done").GetComponent<Animation>();
rewardItems = transform.GetComponentsInChildren<RewardItemNew>();
signupData = GContext.container.Resolve<SigninData>();
tables = GContext.container.Resolve<Tables>();
}
private void Start()
{
claim_btn.onClick.AddListener(OnClaimBtnClick);
}
public void ShowData(int index, int DropID)
{
this.index = index;
this.DropID = DropID;
DailySignEvent dailySignEvent;
itemDatas = GContext.container.Resolve<PlayerItemData>().GetItemDataByDropIdLureInflation(null, DropID);
dailySignEvent = signupData.dailySignEvent;
received.SetActive(index < dailySignEvent.index);
int count = Math.Min(itemDatas.Count, rewardItems.Length);
for (int i = 0; i < count; i++)
{
rewardItems[i].SetData(itemDatas[i]);
}
for (int i = 0; i < rewardItems.Length; i++)
{
rewardItems[i].gameObject.SetActive(i < count);
rewardItems[i].SetReceived(index < dailySignEvent.index);
}
if (dailySignEvent.lastID != ZZTimeHelper.UtcNow().UtcNowOffset().DayOfYear)
{
bg.SetActive(dailySignEvent.index != index);
bg_today.SetActive(dailySignEvent.index == index);
if (dailySignEvent.index == index)
ani.Play();
}
else
{
bg.SetActive(dailySignEvent.index - 1 != index);
bg_today.SetActive(dailySignEvent.index - 1 == index);
}
claim_notice.SetActive(dailySignEvent.index == index && dailySignEvent.lastID != ZZTimeHelper.UtcNow().UtcNowOffset().DayOfYear);
if (NewYearSnow != null)
NewYearSnow.SetActive(dailySignEvent.index < index);
}
public void SetMultiplier(int Multiplier)
{
itemDatas = GContext.container.Resolve<PlayerItemData>().GetItemDataByDropIdLureInflation(null, DropID);
for (int i = 0; i < itemDatas.Count; i++)
{
itemDatas[i].count *= Multiplier;
}
int count = Math.Min(itemDatas.Count, rewardItems.Length);
for (int i = 0; i < count; i++)
{
rewardItems[i].SetData(itemDatas[i]);
}
}
public void OnClaimBtnClick()
{
claim_btn.enabled = false;
Sign();
claim_btn.enabled = true;
}
void Sign()
{
bool isSign = signupData.OnDailySign(index, DropID);
if (isSign)
{
received.SetActive(true);
icon_done.Play();
ani.Stop();
claim_notice.SetActive(false);
for (int i = 0; i < rewardItems.Length; i++)
{
rewardItems[i].SetReceived(true);
rewardItems[i].ParticleAttractor();
}
}
}
}