Files
Emberwild/.claude/projects/d--Projet-Perso-Unity-Emberwild/memory/ashwild-database-tool.md
T
2026-06-22 23:32:46 +02:00

1.4 KiB

name, description, metadata
name description metadata
ashwild-database-tool Custom UI Toolkit editor window (Tools ▸ Ashwild ▸ Database) to browse/create ItemData & CraftingRecipe and generate prefabs.
type
project

A custom editor window lives at Assets/GAME/Script/Editor/Database/ (namespace Ashwild.EditorTools), opened via Tools ▸ Ashwild ▸ Database. Built with UI Toolkit (first UI Toolkit usage in the project) + a .uss stylesheet (AshwildDatabase.uss).

Pieces:

  • AshwildDatabaseWindow.cs — shell: Items/Recipes tabs, search, list, action bar.
  • ItemEditorView.cs — custom context-aware ItemData form (cards reveal by type).
  • RecipeEditorView.cs — visual ingredient list builder ("A + B = Result" equation strip).
  • ItemAssetFactory.cs / RecipeAssetFactory.cs — asset + prefab creation.
  • AshwildUI.cs — shared styled builders (cards, type badges, type colours).

Prefab generation wraps a chosen source GameObject (model/prefab) as a child of a generated root: world prefab = Pickable layer + auto-fit BoxCollider + Pickable (no NetworkObject, see pickable-vestigial-networkobject); hand prefab = Tools layer + ToolBehaviour (mask = Harvestable) + HeldItemOffset. Item creation rebuilds the ItemDatabase automatically. Asset folders: items → ScriptableObjects/Items/, recipes → ScriptableObjects/Recipes/, world prefabs → Prefabs/Pickable/, hand prefabs → Prefabs/Tools/.