示例#1
0
 /// <summary>
 /// Remove all component data
 /// </summary>
 public void ClearComponents()
 {
     TransformComponents.Clear();
     PhysicsComponents.Clear();
     CollisionComponents.Clear();
     MeshComponents.Clear();
 }
示例#2
0
        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);
            }
        }
示例#3
0
        /// <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();
                }
            }
        }