public MoonDesign(string designName, PlanetoidStat stat, IEnumerable<PassiveCountermeasureStat> passiveCmStats) : base(designName, passiveCmStats) { Stat = stat; }
private FollowableItemCameraStat MakeMoonCameraStat(PlanetoidStat moonStat) { float fov; PlanetoidCategory pCat = moonStat.Category; switch (pCat) { case PlanetoidCategory.Moon_005: fov = 60F; break; case PlanetoidCategory.Moon_001: case PlanetoidCategory.Moon_002: case PlanetoidCategory.Moon_003: case PlanetoidCategory.Moon_004: fov = 50F; break; case PlanetoidCategory.GasGiant: case PlanetoidCategory.Ice: case PlanetoidCategory.Terrestrial: case PlanetoidCategory.Volcanic: case PlanetoidCategory.None: default: throw new NotImplementedException(ErrorMessages.UnanticipatedSwitchValue.Inject(pCat)); } float radius = moonStat.Radius; float minViewDistance = radius + 1F; float optViewDistance = radius + 3F; // optViewDistance has no linkage to ObstacleZoneRadius return new FollowableItemCameraStat(minViewDistance, optViewDistance, fov); }
/// <summary> /// Initializes a new instance of the <see cref="PlanetoidData" /> class with no owner. /// </summary> /// <param name="planetoid">The planetoid.</param> /// <param name="passiveCMs">The passive Countermeasures.</param> /// <param name="planetoidStat">The stat.</param> public PlanetoidData(IPlanetoid planetoid, IEnumerable<PassiveCountermeasure> passiveCMs, PlanetoidStat planetoidStat) : this(planetoid, TempGameValues.NoPlayer, passiveCMs, planetoidStat) { }
/// <summary> /// Initializes a new instance of the <see cref="PlanetoidData" /> class. /// </summary> /// <param name="planetoid">The planetoid.</param> /// <param name="owner">The owner.</param> /// <param name="passiveCMs">The passive Countermeasures.</param> /// <param name="planetoidStat">The stat.</param> public PlanetoidData(IPlanetoid planetoid, Player owner, IEnumerable<PassiveCountermeasure> passiveCMs, PlanetoidStat planetoidStat) : base(planetoid, owner, planetoidStat.MaxHitPoints, passiveCMs) { Mass = planetoidStat.Mass; Category = planetoidStat.Category; Radius = planetoidStat.Radius; Capacity = planetoidStat.Capacity; Resources = planetoidStat.Resources; Topography = Topography.System; _sectorID = InitializeSectorID(); }
/// <summary> /// Initializes a new instance of the <see cref="PlanetoidData" /> class /// with no countermeasures and no owner. /// </summary> /// <param name="planetoid">The planetoid.</param> /// <param name="planetoidStat">The stat.</param> public PlanetoidData(IPlanetoid planetoid, PlanetoidStat planetoidStat) : this(planetoid, TempGameValues.NoPlayer, Enumerable.Empty<PassiveCountermeasure>(), planetoidStat) { }