private void Remove(UUID entity, bool removeId = true) { if (EntityByUUID.TryRemove(entity, out Entity e)) { if (removeId) { Entities.TryRemove(e.EntityId, out e); } } }
public void Dispose() { var entities = Entities.ToArray(); Entities.Clear(); EntityByUUID.Clear(); foreach (var entity in entities) { entity.Deconstruct(out _, out _); } }
public bool AddEntity(long id, Entity entity) { entity.Network = Network; entity.Level = World; if (EntityByUUID.TryAdd(entity.UUID, entity)) { entity.IsAlwaysShowName = false; // entity.NameTag = $"Entity_{id}"; //entity.HideNameTag = false; if (!Entities.TryAdd(id, entity)) { EntityByUUID.TryRemove(entity.UUID, out Entity _); return(false); } return(true); } return(false); }
public bool TryGet(UUID uuid, out Entity entity) { return(EntityByUUID.TryGetValue(uuid, out entity)); }