// EventCubeMeltData.cs
// 锻刀活动存储数据
using System;
using System.Collections.Generic;
using cfg;
using UnityEngine;
namespace EventCubeMelt.Data
{
//
///
/// 单条收集需求:TypeKey 为配置表 EventCubeMeltItem 的 ID,CellType 为盘面 CellType。
///
public readonly struct EventCubeMeltCollectionItemInfo
{
public int TrueId { get; }
public int RequiredCount { get; }
public EventCubeMeltCollectionItemInfo(int trueId, int requiredCount)
{
TrueId = trueId;
RequiredCount = requiredCount;
}
}
public class CollectItem
{
public int ItemId{ get; set; }
public int Count{ get; set; }
public int MaxCount { get; set; }
public int ItemTrueId { get; set; }
}
public class PieceItem
{
public int MeltId { get; set; }
public int Weight { get; set; }
public float Complexity { get; set; }
public int Row { get; set; }
public int Col { get; set; }
public int WeightDifficultyParam { get; set; }
public double ComplexityWeight { get; set; }
public List PieceConfig { get; set; }
}
public class EventCubeMeltData
{
// 代币数量
public int TicketCount { get; set; } // 公用的
//
public bool FirstOpen { get; set; } = true;
// 是否结束
public bool IsFinished { get; set; } = false; // 当前活动 是否结束
// 事件ID
public int EventId { get; set; }
// 新手引导小手是否完成
public bool IsInGuide { get; set; } = false;
//TODO:看着应该去掉也可以
// 开始时间
public DateTime StartTime { get; set; }
// 结束时间
public DateTime EndTime { get; set; }
// 当前关卡Id
public int CurrentStagetId { get; set; } = 0;
// 当前收集的材料
public List CollectItems { get; set; }
// 记录当前Board 数值
public List BoardData { get; set; }
//- 当前View的Size,都记录下来省的出错
public Vector2Int BoardViewSize { get; set; }
// 获取奖励的关卡
public List CollectRewardsId { get; set; }
public bool IsFinalRewardGet { get; set; } = false; //-最后的礼物是否领了
public List> PieceDatas { set; get; }
// 是否处于新手轮还是循环轮
public int Cycle { set; get; }
public float InflationRate { set; get; } //通货膨胀率
}
}