JisolGame/JNFrame2/Assets/Scripts/Game/Data/EDNodeDataSystem.cs
PC-20230316NUNE\Administrator 77db4d7d71 提交无缝数据回滚
2024-08-23 10:48:19 +08:00

65 lines
1.5 KiB
C#

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<EDNodeData,EDNodeValue,EDNode>
{
public EDNodeData()
{
}
public EDNodeData(EDNode node) : base(node)
{
}
}
public class EDNodeDataSystem : GDataBaseSystem<EDNodeData,EDNode>
{
public EDNodeDataSystem(SStateDataEnum type) : base(type)
{
}
public override JNTileContext<EDNode> NodeContext => Contexts.GetContext<EDNodeContext>();
public override int NetID => (int)NetDataEnum.EDNodeData;
public override Dictionary<ulong, EDNodeData> GetLatest()
{
var nodes = new Dictionary<ulong, EDNodeData>();
NodeContext.GetEntities().ForEach(child =>
{
if (nodes.ContainsKey(child.Id))
{
Debug.Log($"[EDNodeDataSystem] 出错 发现重复Key");
return;
}
nodes.Add(child.Id,new EDNodeData(child));
});
return nodes;
}
}
}