迭代拼装玩法与素材

This commit is contained in:
2026-04-22 10:54:24 +08:00
parent a1b6b4a823
commit 204eb6e4d0
35 changed files with 3471 additions and 848 deletions
@@ -1,4 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -10,18 +9,18 @@ namespace UI
public sealed class CombineFormContext : UIContext
{
/// <summary>
/// Slot definitions. Position and order are provided externally.
/// Assembled structure/silhouette prefab. Slots are read directly from this prefab.
/// </summary>
public List<CombineSlotContext> Slots;
public GameObject StructurePrefab;
/// <summary>
/// Optional part definitions. When null/empty, parts are derived from slots.
/// Part sprites spawned on the right panel.
/// </summary>
public List<CombinePartContext> Parts;
public List<Sprite> PartSprites = new List<Sprite>();
/// <summary>
/// Auto start puzzle after runtime nodes are generated.
/// </summary>
public bool AutoStart = true;
}
}
}
@@ -1,21 +0,0 @@
using System;
using Definition.Enum;
using UnityEngine;
namespace UI
{
/// <summary>
/// Runtime part data passed from external system.
/// </summary>
[Serializable]
public sealed class CombinePartContext
{
public CombinePartType PartType = CombinePartType.Dou;
public string PartDisplayName = "Dou";
public string MechanicsExplanation = string.Empty;
public bool LockAfterPlaced = true;
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 82f303529f5b4b040845223f97a66cfa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,28 +0,0 @@
using System;
using Definition.Enum;
using UnityEngine;
namespace UI
{
/// <summary>
/// Runtime slot data passed from external system.
/// </summary>
[Serializable]
public sealed class CombineSlotContext
{
public CombinePartType RequiredPartType = CombinePartType.Dou;
public int BuildOrder = 0;
public bool RequireStrictOrder = true;
public Vector2 AnchoredPosition = Vector2.zero;
public Vector2 SizeDelta = new Vector2(120f, 120f);
public string MechanicsExplanation = string.Empty;
public string MismatchHint = string.Empty;
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 03894567063ea7d42a417545043e32c6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: