using System; using System.Collections.Generic; using System.Text; using AppGame; using DotRecast.Core.Collections; using Entitas; using Game.JNGFrame.Logic.Entity; using Game.JNGFrame.Logic.Entity.Contexts; using JNGame.Math; using JNGame.Sync.State.Tile.Entity; using JNGame.Sync.System; using JNGame.Sync.System.Data; using Newtonsoft.Json; using UnityEngine; namespace Game.JNGState.Logic.Data { [Serializable] public class EDNodeValue : GDataValue { } public class EDNodeData : GDataBase { public EDNodeData() { } public EDNodeData(EDNode node) : base(node) { } } public class EDNodeDataSystem : GDataBaseSystem { public EDNodeDataSystem(SStateDataEnum type) : base(type) { } public override JNTileContext NodeContext => Contexts.GetContext(); public override int NetID => (int)NetDataEnum.EDNodeData; public override Dictionary GetLatest() { var nodes = new Dictionary(); NodeContext.GetEntities().ForEach(child => { if (nodes.ContainsKey(child.Id)) { Debug.Log($"[EDNodeDataSystem] 出错 发现重复Key"); return; } nodes.Add(child.Id,new EDNodeData(child)); }); return nodes; } } }