Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/Item.cs
gamer147 0d9d8acae0 feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
2026-06-05 16:57:20 -04:00

135 lines
2.8 KiB
C#

namespace Wizard;
public class Item
{
public enum Type
{
TwoPickTicket = 1,
CardPackTicket,
Orb,
ColosseumTicket,
OrbPiece,
SpotCardBuildDeckTicket,
LeaderSkinTicket
}
public const int ID_CHALLENGE_TICKET = 1;
public const int ID_COLOSSEUM_TICKET = 2;
public const int ID_ORB = 1000;
public const int ID_ORB_PIECE = 1001;
public const int BINGO_TICKET = 2001;
public const int BINGO_TICKET_2 = 2002;
public const int BINGO_TICKET_HOCHAN = 2004;
public const int ID_CARD_PACK_TICKET_MIN = 10001;
private const int ID_SPOT_CARD_BUILD_DECK_TICKET_MIN = 60000;
private const int ID_SPOT_CARD_BUILD_DECK_TICKET_MAX = 69999;
private const int ID_LEADER_SKIN_TICKET_MIN = 70000;
private const int ID_LEADER_SKIN_TICKET_MAX = 79999;
public const int ID_TICKET_MAX = 99999;
public Type type;
public int UserGoodsId;
public string name;
public string thumbnail;
public string unit;
public string unitFormat;
private int index;
public static bool IsLeaderSkinTicket(int itemId)
{
if (itemId >= 70000)
{
return itemId <= 79999;
}
return false;
}
public static bool IsSpotCardBuildDeckTicket(int itemId)
{
if (itemId >= 60000)
{
return itemId <= 69999;
}
return false;
}
public Item()
{
}
public Item(string[] columns)
{
string text = columns[index++];
type = (Type)int.Parse(columns[index++]);
UserGoodsId = int.Parse(text);
name = Data.Master.GetItemText("IT_" + text);
thumbnail = columns[index++];
SystemText systemText = Data.SystemText;
switch (type)
{
case Type.TwoPickTicket:
case Type.CardPackTicket:
case Type.ColosseumTicket:
case Type.SpotCardBuildDeckTicket:
case Type.LeaderSkinTicket:
unit = systemText.Get("Common_0117");
unitFormat = systemText.Get("Mail_0041");
break;
case Type.Orb:
case Type.OrbPiece:
unit = systemText.Get("Common_0116");
unitFormat = systemText.Get("Mail_0040");
break;
}
}
public static Item GetItemData(UserGoods.Type goodsType, int userGoodsId)
{
Item result = null;
if (goodsType == UserGoods.Type.Item)
{
result = Data.Master.ItemList.Find((Item data) => data.UserGoodsId == userGoodsId);
}
return result;
}
public static Type GetItemType(UserGoods.Type goodsType, int userGoodsId)
{
return GetItemData(goodsType, userGoodsId).type;
}
public static bool IsTicket(UserGoods.Type userGoodsType, int userGoodsId)
{
if (userGoodsType == UserGoods.Type.Item)
{
if ((uint)(userGoodsId - 1) <= 1u || (uint)(userGoodsId - 2001) <= 1u || userGoodsId == 2004)
{
return true;
}
if (userGoodsId >= 10001 && userGoodsId <= 99999)
{
return true;
}
}
return false;
}
}