Files
XRLib/Assets/Scripts/Simulator/Components/SinkComponent.cs
2026-02-03 11:40:26 +09:00

39 lines
1.2 KiB
C#

using Simulator.Data;
using Simulator.Model;
using UnityEngine;
using UVC.Data.Core;
using System.Collections.Generic;
using Unity.VisualScripting;
public class SinkComponent : ComponentBase
{
public SinkDataClass sourceData = new SinkDataClass();
public SinkModelData sinkModelData = new SinkModelData();
public void SetComponent(SinkDataClass sourceData)
{
this.sourceData = sourceData;
data = sourceData;
onComponentClicked += FindAnyObjectByType<SinkProperty>().SetProertyWindow;
FitCollider();
SetPosition();
SetRotation();
}
public override void GetModelData(DataObject modelData)
{
sinkModelData.component_id = modelData.GetString("component_id");
var datas = modelData.GetDataObject("data");
var sinkdatas = datas.GetDataArray("entity_ids");
var sinkentities = new List<string>();
foreach(var sinkdata in sinkdatas)
{
sinkentities.Add(sinkdata.GetString("entity_id"));
}
PlayerPropertyDataBase.Instance.CollectUseData(sinkentities.Count);
EntityManager.Instance.DestroyEnity(sinkentities);
}
public override void getpath()
{
onComponentClicked?.Invoke(componentType, sourceData);
}
}