2026-01-16 11:36:54 +09:00
|
|
|
using Simulator.Data;
|
|
|
|
|
using System.Collections.Generic;
|
2025-12-24 17:36:01 +09:00
|
|
|
using UnityEngine;
|
2026-01-16 11:36:54 +09:00
|
|
|
using UVC.UI.Window.PropertyWindow;
|
2025-12-24 17:36:01 +09:00
|
|
|
|
|
|
|
|
public class NodeProperty : MonoBehaviour
|
|
|
|
|
{
|
2026-01-16 11:36:54 +09:00
|
|
|
[SerializeField]
|
|
|
|
|
private PropertyWindow propertyWindow;
|
|
|
|
|
|
|
|
|
|
public void SetProertyWindow(ConveyorNode data)
|
|
|
|
|
{
|
|
|
|
|
Debug.Log(data);
|
|
|
|
|
InitNodeProperty(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SaveChange(object source, object value, string name)
|
2025-12-24 17:36:01 +09:00
|
|
|
{
|
2026-01-16 11:36:54 +09:00
|
|
|
var path = PathIndexer.GetNodePath(source);
|
|
|
|
|
Patch updateData = new Patch();
|
|
|
|
|
updateData.value = value;
|
|
|
|
|
UpdateValueStack.AddPatch($"{path}.{name}", value);
|
2025-12-24 17:36:01 +09:00
|
|
|
}
|
|
|
|
|
|
2026-01-16 11:36:54 +09:00
|
|
|
public void InitNodeProperty(ConveyorNode node)
|
2025-12-24 17:36:01 +09:00
|
|
|
{
|
2026-01-16 11:36:54 +09:00
|
|
|
List<IPropertyEntry> entries = new List<IPropertyEntry>
|
|
|
|
|
{
|
|
|
|
|
new StringProperty("name", "이름", node.name)
|
|
|
|
|
{
|
|
|
|
|
IsReadOnly=true
|
|
|
|
|
},
|
|
|
|
|
new StringProperty("label", "라벨", node.label)
|
|
|
|
|
{
|
|
|
|
|
IsReadOnly=false
|
|
|
|
|
}.Bind(
|
|
|
|
|
setter: v => {node.label = v;SaveChange(node,v,"label"); }
|
|
|
|
|
),
|
|
|
|
|
new ListProperty("type","타입",new List<string> { "start","junction","endpoint"},node.node_type)
|
|
|
|
|
{
|
|
|
|
|
IsReadOnly=false
|
|
|
|
|
}.Bind(
|
|
|
|
|
setter: v => {node.node_type=v; SaveChange(node,v,"node_type"); }
|
|
|
|
|
),
|
|
|
|
|
new IntProperty("capacity", "용량", node.capacity)
|
|
|
|
|
{
|
|
|
|
|
IsReadOnly=false
|
|
|
|
|
}.Bind(
|
|
|
|
|
setter: v => {node.capacity = v;SaveChange(node,v,"capacity"); }
|
|
|
|
|
),
|
|
|
|
|
};
|
|
|
|
|
propertyWindow.LoadMixedProperties(entries);
|
2025-12-24 17:36:01 +09:00
|
|
|
}
|
|
|
|
|
}
|