private void UpdateSummary()
 {
     this.Singular = this.SingEntry.Text;
     this.Plural = this.PlurEntry.Text;
     this.HomeSystemName = this.HomeSystemEntry.Text;
     this.RaceSummary = new RacialTrait();
     foreach (TraitEntry t in this.AllTraits)
     {
         if (!t.Selected)
         {
             continue;
         }
         //Added by McShooterz: code cleaning
         this.RaceSummary.ConsumptionModifier += t.trait.ConsumptionModifier;
         this.RaceSummary.DiplomacyMod += t.trait.DiplomacyMod;
         this.RaceSummary.EnergyDamageMod += t.trait.EnergyDamageMod;
         this.RaceSummary.MaintMod += t.trait.MaintMod;
         this.RaceSummary.ReproductionMod += t.trait.ReproductionMod;// t.trait.ReproductionMod;
         //this.RaceSummary.ReproductionMod += t.trait.PopGrowthMin;
         //this.RaceSummary.ReproductionMod -= t.trait.PopGrowthMax;
         this.RaceSummary.PopGrowthMax += t.trait.PopGrowthMax;
         this.RaceSummary.PopGrowthMin += t.trait.PopGrowthMin;
         this.RaceSummary.ResearchMod += t.trait.ResearchMod;
         this.RaceSummary.ShipCostMod += t.trait.ShipCostMod;
         this.RaceSummary.TaxMod += t.trait.TaxMod;
         this.RaceSummary.ProductionMod += t.trait.ProductionMod;
         this.RaceSummary.ModHpModifier += t.trait.ModHpModifier;
         this.RaceSummary.Mercantile += t.trait.Mercantile;
         this.RaceSummary.GroundCombatModifier += t.trait.GroundCombatModifier;
         this.RaceSummary.Cybernetic += t.trait.Cybernetic;
         this.RaceSummary.Blind += t.trait.Blind;
         this.RaceSummary.DodgeMod += t.trait.DodgeMod;
         this.RaceSummary.HomeworldFertMod += t.trait.HomeworldFertMod;
         this.RaceSummary.HomeworldRichMod += t.trait.HomeworldRichMod;
         this.RaceSummary.HomeworldSizeMod += t.trait.HomeworldSizeMod;
         this.RaceSummary.Militaristic += t.trait.Militaristic;
         this.RaceSummary.BonusExplored += t.trait.BonusExplored;
         this.RaceSummary.Prototype += t.trait.Prototype;
         this.RaceSummary.Spiritual += t.trait.Spiritual;
         this.RaceSummary.SpyMultiplier += t.trait.SpyMultiplier;
         this.RaceSummary.RepairMod += t.trait.RepairMod;
         if(t.trait.Pack)
             this.RaceSummary.Pack = t.trait.Pack;
     }
 }
 public override void Update(GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen)
 {
     float elapsedTime = (float)gameTime.ElapsedGameTime.TotalSeconds;
     Vector2 mousePos = new Vector2((float)this.currentMouse.X, (float)this.currentMouse.Y);
     bool overSomething = false;
     if (this.DrawingColorSelector)
     {
         overSomething = false;
     }
     else
     {
         foreach (TraitEntry t in this.AllTraits)
         {
             if (!HelperFunctions.CheckIntersection(t.rect, mousePos))
             {
                 continue;
             }
             overSomething = true;
             RaceDesignScreen raceDesignScreen = this;
             raceDesignScreen.tTimer = raceDesignScreen.tTimer - elapsedTime;
             if (this.tTimer > 0f)
             {
                 continue;
             }
             this.tipped = t.trait;
         }
         if (!overSomething)
         {
             this.tTimer = 0.35f;
             this.tipped = null;
         }
     }
     this.UpdateSummary();
     base.Update(gameTime, otherScreenHasFocus, coveredByOtherScreen);
 }