Terrarium.Game.GameEngine.burnBaseEnergy C# (CSharp) Method

burnBaseEnergy() private method

private burnBaseEnergy ( ) : void
return void
        private void burnBaseEnergy()
        {
            foreach (string organismID in _organismIDList)
            {
                OrganismState organismState = _newWorldState.GetOrganismState(organismID);
                if (organismState == null) continue;
                if (organismState.IsAlive)
                {
                    // Age the organism
                    organismState.AddTickToAge();
                    if (organismState is AnimalState)
                    {
                        if (organismState.IsAlive)
                        {
                            organismState.BurnEnergy(organismState.Radius*
                                                     EngineSettings.BaseAnimalEnergyPerUnitOfRadius);
                        }
                    }
                    else
                    {
                        Debug.Assert(organismState is PlantState);
                        PlantState plantState = (PlantState) organismState;
                        if (organismState.IsAlive)
                        {
                            plantState.BurnEnergy(plantState.Radius*EngineSettings.BasePlantEnergyPerUnitOfRadius);
                        }

                        // When plants die they disappear
                        if (plantState.EnergyState == EnergyState.Dead)
                        {
                            removeOrganism(new KilledOrganism(plantState));
                        }
                    }
                }
                else
                {
                    if (organismState is AnimalState)
                    {
                        AnimalState animalState = (AnimalState) organismState;
                        animalState.AddRotTick();
                        if (animalState.RotTicks > EngineSettings.TimeToRot)
                        {
                            removeOrganism(new KilledOrganism(animalState));
                        }
                    }
                }
            }
        }