Indholdsfortegnelse

Inventory UI

Grafik anvendt i denne tutorial kan hentes her:

Inventory-system i Godot 4 med C#

Denne tutorial lærer dig at bygge et simpelt, genbrugeligt inventory-system i Godot 4 med C#. Du bygger systemet trin for trin og kan køre og teste efter hvert trin.

Det bygger du

Systemet er non-stackable: hver slot rummer højst ét item. Strukturen er forberedt, så stacking kan tilføjes senere, men det implementerer vi ikke her. Vi bruger heller ikke signals, delegates eller drag and drop.

Forudsætninger

Tutorialen antager, at du allerede har en Item-klasse (en Resource) med felterne Name og Icon, eventuelle subtyper som WeaponItem og PotionItem og nogle item-filer (.tres). De gennemgås ikke her. Se trin 1.

Indholdsfortegnelse

Hjælpesider:

Sådan er systemet bygget

Systemet består af tre lag, som hver har ét ansvar:

Lag Hvad det gør Filer
Data Ved, hvilke items der ligger i hvilke slots InventorySlot, Inventory
UI Tegner indholdet af et inventory på skærmen SlotUI, InventoryUI
Ejere Har et inventory og bestemmer, hvad det bruges til Player, Chest, Main

Fordi data og UI er adskilt, kan den samme Inventory-komponent bruges af en spiller, en kiste eller en fjende, og det samme UI kan vise dem alle. Det er den vigtigste idé i hele tutorialen.

Mappestruktur

Du opretter disse mapper i Godot i trin 1:

res://
├── Sprites/             billeder 
├── Resources/
│   └── Items/           dine item-filer (.tres)
├── Scenes/              alle .tscn-filer
└── Scripts/
    ├── Items/           dine Item-klasser (har du allerede)
    ├── Inventory/       InventorySlot.cs, Inventory.cs, SlotUI.cs, InventoryUI.cs
    └── Game/            Player.cs, Chest.cs, Main.cs

Sådan bruger du tutorialen

Du er klar til at starte: Gå til trin 1 →