Files
XRLib/Assets/Scripts/Simulator/Components/SinkComponent.cs
2026-02-26 14:04:33 +09:00

52 lines
1.5 KiB
C#

using Simulator.Data;
using Simulator.Model;
using UnityEngine;
using UVC.Data.Core;
using System.Collections.Generic;
namespace Simulator.Data
{
public class SinkComponent : ComponentBase
{
public SinkDataClass sinkData = new SinkDataClass();
public SinkModelData sinkModelData = new SinkModelData();
public void SetComponent(SinkDataClass sinkData)
{
this.sinkData = sinkData;
data = sinkData;
FitCollider();
SetPosition();
SetRotation();
}
public override void SetEntity(string key, string name = "")
{
EntityManager.Instance.GetEntity(key, name);
}
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);
ProgressDatabase.Instance.CollectData(sinkData.name, (datas.GetString("total_sinked"), datas.GetString("normal_items")));
}
protected override void OnDestroy()
{
base.OnDestroy();
}
public override void GetPath()
{
onComponentClicked?.Invoke(componentType, sinkData);
}
}
}