Traveller/scripts/item/ItemType.cs
霧雨烨 94a2e78efc Fixed all the bugs that prevented the game from working, added static item registration on startup
阻碍游戏运行的bug已尽数修复,添加启动时的静态物品注册
2024-06-13 03:04:12 +08:00

25 lines
786 B
C#

using System;
using Godot;
namespace ColdMint.scripts.item;
public readonly struct ItemType(string id, Func<IItem_New> newItemFunc, Texture2D? icon, int maxStackQuantity)
{
/// <summary>
/// <para>Item id of this type</para>
/// </summary>
public string Id { get; init; } = id;
/// <summary>
/// <para>A function returns a new item instance of this type</para>
/// </summary>
public Func<IItem_New> NewItemFunc { get; init; } = newItemFunc;
/// <summary>
/// <para>Default icon of items of this type</para>
/// </summary>
public Texture2D? Icon { get; init; } = icon;
/// <summary>
/// <para>Max number in item stack of this type</para>
/// </summary>
public int MaxStackQuantity { get; init; } = maxStackQuantity;
}