123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using System.Collections.Generic;
- using System.Text;
- namespace ET.Server
- {
- [FriendOf(typeof(Cell))]
- public static class CellSystem
- {
- [ObjectSystem]
- public class CellDestroySystem: DestroySystem<Cell>
- {
- protected override void Destroy(Cell self)
- {
- self.AOIUnits.Clear();
- self.SubsEnterEntities.Clear();
- self.SubsLeaveEntities.Clear();
- }
- }
-
- public static void Add(this Cell self, AOIEntity aoiEntity)
- {
- self.AOIUnits.Add(aoiEntity.Id, aoiEntity);
- }
-
- public static void Remove(this Cell self, AOIEntity aoiEntity)
- {
- self.AOIUnits.Remove(aoiEntity.Id);
- }
-
- public static string CellIdToString(this long cellId)
- {
- int y = (int) (cellId & 0xffffffff);
- int x = (int) ((ulong) cellId >> 32);
- return $"{x}:{y}";
- }
- public static string CellIdToString(this HashSet<long> cellIds)
- {
- StringBuilder sb = new StringBuilder();
- foreach (long cellId in cellIds)
- {
- sb.Append(cellId.CellIdToString());
- sb.Append(",");
- }
- return sb.ToString();
- }
- }
- }
|