/// <summary> /// Remove all component data /// </summary> public void ClearComponents() { TransformComponents.Clear(); PhysicsComponents.Clear(); CollisionComponents.Clear(); MeshComponents.Clear(); }
public void DestroyEntity(Guid id) { Entity removal = this.Entities.Where(x => x.Id == id).FirstOrDefault(); if (removal != null) { Entities.Remove(removal); PositionComponents.Remove(id); VelocityComponents.Remove(id); DisplayComponents.Remove(id); AnimationComponents.Remove(id); SightRadiusComponents.Remove(id); LabelComponents.Remove(id); SkillLevelsComponents.Remove(id); TargetPositionComponents.Remove(id); DirectionComponents.Remove(id); TimeToLiveComponents.Remove(id); CollisionComponents.Remove(id); NameComponents.Remove(id); AICombatComponents.Remove(id); AIAlignmentComponents.Remove(id); AIStateComponents.Remove(id); AIFieldOfViewComponents.Remove(id); AISleepComponents.Remove(id); AIRoamComponents.Remove(id); AIFleeComponents.Remove(id); InputMovementComponents.Remove(id); EntityMessageComponents.Remove(id); AlternateFOVColorChangeComponents.Remove(id); HealthRegenerationComponents.Remove(id); OutlineComponents.Remove(id); SecondaryOutlineComponents.Remove(id); InventoryComponents.Remove(id); PickupComponents.Remove(id); StatModificationComponents.Remove(id); ValueComponents.Remove(id); ItemFunctionsComponents.Remove(id); PassivesComponents.Remove(id); ArtifactStatsComponents.Remove(id); BurningComponents.Remove(id); } }
/// <summary> /// Resizes all component arrays to contain at least maxSize amount of objects /// </summary> public void SetComponentArraySize(int maxSize) { int oldSize = TransformComponents.Length; if (maxSize > oldSize) { TransformComponents.SetSize(maxSize); PhysicsComponents.SetSize(maxSize); CollisionComponents.SetSize(maxSize); MeshComponents.SetSize(maxSize); for (int i = oldSize; i < maxSize; i++) { // Initialize defaults TransformComponents[i].SetDefaults(); CollisionComponents[i].SetDefaults(); MeshComponents[i].SetDefaults(); } } }