Merge remote-tracking branch 'origin/feat/inport-props' into feat/craft-discovery
# Conflicts: # Assets/External/Animated PBR Chest Demo/Materials/WoodChest.mat # Packages/com.distantlands.cozy.core/Content/Integration/Import for BiRP.unitypackage.meta # Packages/com.distantlands.cozy.core/Content/Integration/Import for HDRP.unitypackage.meta # Packages/com.distantlands.cozy.core/Content/Integration/Import for URP.unitypackage.meta
This commit is contained in:
@@ -13,8 +13,8 @@ namespace Ashwild.EditorTools
|
||||
/// editor IS the recipe equation: a row of interactive ingredient cards ("+"-joined) leading to
|
||||
/// "=" and the result card. Each card's icon opens an item picker to set/change the item, a
|
||||
/// −/+ stepper adjusts its quantity, and ingredient cards carry a remove button; a dashed "+" tile
|
||||
/// appends a new ingredient. A compact name field sits above it. All edits write straight to the
|
||||
/// asset and repaint the strip.
|
||||
/// appends a new ingredient. A compact name field sits above it, and a station card below states
|
||||
/// where the recipe can be crafted. All edits write straight to the asset and repaint the strip.
|
||||
/// </summary>
|
||||
public class RecipeEditorView
|
||||
{
|
||||
@@ -51,6 +51,7 @@ namespace Ashwild.EditorTools
|
||||
Root = new VisualElement();
|
||||
Root.Add(BuildNameField());
|
||||
Root.Add(BuildEquation());
|
||||
Root.Add(BuildStationCard());
|
||||
Root.Add(BuildPickerProxy());
|
||||
|
||||
RefreshEquation();
|
||||
@@ -76,6 +77,28 @@ namespace Ashwild.EditorTools
|
||||
return row;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Builds the card stating where the recipe can be crafted. The hint spells out the meaning of
|
||||
/// None, which reads as "no station" but actually means "craftable everywhere — bare hands and
|
||||
/// every station alike"; any other value restricts the recipe to that station only.
|
||||
/// Changing it refreshes the list row, whose tag shows the station.
|
||||
/// </summary>
|
||||
private VisualElement BuildStationCard()
|
||||
{
|
||||
VisualElement card = AshwildUI.Card("Station");
|
||||
|
||||
EnumField stationField = new EnumField("Crafted On", recipe.RequiredStation);
|
||||
stationField.BindProperty(so.FindProperty("requiredStation"));
|
||||
stationField.RegisterValueChangedCallback(_ => onMetaChanged?.Invoke());
|
||||
card.Add(stationField);
|
||||
|
||||
Label hint = new Label("None = craftable by hand and on every station.");
|
||||
hint.AddToClassList("ash-card__hint");
|
||||
card.Add(hint);
|
||||
|
||||
return card;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Equation
|
||||
|
||||
Reference in New Issue
Block a user