public void Add(FacilityDesign design) {
     Player player = design.Player;
     string designName = design.DesignName;
     var designsByName = _facilityDesignsLookup[player];
     D.Assert(!designsByName.ContainsKey(designName));
     designsByName.Add(designName, design);
     //D.Log("{0} added {1} {2} for {3}.", GetType().Name, design.GetType().Name, designName, player);
 }
 private void MakeAndRecordElementDesign(string designName, Player owner, FacilityHullStat hullStat, IEnumerable<AWeaponStat> weaponStats,
     IEnumerable<PassiveCountermeasureStat> passiveCmStats, IEnumerable<ActiveCountermeasureStat> activeCmStats,
     IEnumerable<SensorStat> sensorStats, IEnumerable<ShieldGeneratorStat> shieldGenStats, Priority hqPriority) {
     FacilityHullCategory hullCategory = hullStat.HullCategory;
     var weaponDesigns = _factory.__MakeWeaponDesigns(hullCategory, weaponStats);
     var design = new FacilityDesign(owner, designName, hullStat, weaponDesigns, passiveCmStats, activeCmStats, sensorStats,
         shieldGenStats, hqPriority);
     _gameMgr.PlayersDesigns.Add(design);
 }