using AppGame; using DG.Tweening; using Game.JNGFrame.Logic.Entity; using Game.JNGState.Logic.Data; using JNGame.Math; using JNGame.Sync.System; using JNGame.Sync.View; using Service; using UnityEngine; namespace Game.JNGFrame.View.Entity { public class VDNodes : ViewData { public GameObject VWorld => App.Resource.VWorld; public GameObject Player => App.Resource.Player; public VDNodes(SViewSystem root) : base(root) { } public override void ViewUpdate(EDNodeData data, GameObject view) { view.name = $"Node_{data.Id}"; if (data.Value.Position != null) { view.transform.DOMove(data.Value.Position.ToVector3(), 0.5f); } } public override GameObject NewView(EDNodeData data) { return Object.Instantiate(Player, VWorld.transform); } public override EDNodeData[] GetData() { return GetService().Datas; } public override void ViewRemove(GameObject view) { view.transform.DOKill(); Object.Destroy(view); } } }