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(); 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); } } }