using Chickensoft.AutoInject; using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Godot; using System.Linq; namespace GameJamDungeon { public interface IInventoryItem : INode3D { public IGameRepo GameRepo { get; } public InventoryItemInfo Info { get; } } [Meta(typeof(IAutoNode))] public partial class InventoryItem : Node3D, IInventoryItem { public override void _Notification(int what) => this.Notify(what); [Dependency] public IGameRepo GameRepo => this.DependOn(); [Node] public Area3D Pickup { get; set; } = default!; [Node] public Sprite3D Sprite { get; set; } = default!; public InventoryItemInfo Info { get; set; } = new InventoryItemInfo(); } }