public void Add(DataItemDescriptor desc) { Type diGenType = typeof(DataItemClient <>); Type diType = diGenType.MakeGenericType(desc.DataType); Add(desc.Name, (IDataItemClient)Activator.CreateInstance(diType, desc)); }
static ShellViewModel() { CaliberDescriptor = new DataItemDescriptor <ShellViewModel>("ShellCaliberFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.Caliber, "UnitMillimeters", "ShellCaliberDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); ExplosionRadiusDescriptor = new DataItemDescriptor <ShellViewModel>("ShellExplosionRadiusFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.ExplosionRadius, "UnitMeters", "ShellExplosionRadiusDescription", "{0:#,0.###}", ComparisonMode.HigherBetter); SpeedDescriptor = new DataItemDescriptor <ShellViewModel>("ShellSpeedFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.Speed, "UnitMetersPerSecond", "ShellSpeedDescription", "{0:#,0}", ComparisonMode.HigherBetter); GravityDescriptor = new DataItemDescriptor <ShellViewModel>("ShellGravityFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.Gravity, "UnitMetersPerSquareSecond", "ShellGravityDescription", "{0:#,0.##}", ComparisonMode.Plain); MaxDistanceDescriptor = new DataItemDescriptor <ShellViewModel>("ShellMaxDistanceFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.MaxDistance, "UnitMeters", "ShellMaxDistanceDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); PenetrationDescriptor = new DataItemDescriptor <ShellViewModel>("ShellPenetrationFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Penetration, "UnitMillimeters", "ShellPenetrationDescription", "{0}", ComparisonMode.HigherBetter); ArmorDamageDescriptor = new DataItemDescriptor <ShellViewModel>("ShellArmorDamageFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.ArmorDamage, "UnitHealthPoints", "ShellArmorDamageDescription", "{0}", ComparisonMode.HigherBetter); DamagePerMinuteDescriptor = new DataItemDescriptor <ShellViewModel>("ShellDamagePerMinuteFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.DamagePerMinute, "UnitHealthPointsPerMinute", "ShellDamagePerMinuteDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); ModuleDamageDescriptor = new DataItemDescriptor <ShellViewModel>("ShellModuleDamageFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.Damage.Devices, "UnitHealthPoints", "ShellModuleDamageDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); PriceDescriptor = new DataItemDescriptor <ShellViewModel>("ShellPriceFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Price, null, "ShellPriceDescription", "{0:#,0.#}", ComparisonMode.LowerBetter); PricePerDamageDescriptor = new DataItemDescriptor <ShellViewModel>("ShellPricePerDamageFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.PricePerDamage, null, "ShellPricePerDamageDescription", "{0}", ComparisonMode.LowerBetter); PiercingPowerLossFactorByDistanceDescriptor = new DataItemDescriptor <ShellViewModel>("ShellPiercingPowerLossFactorByDistanceFullName", tank => tank.LoadedModules.Gun.SelectedShell, shell => shell.Shell.PiercingPowerLossFactorByDistance, "UnitPerMeter", "ShellPiercingPowerLossFactorByDistanceDescription", "{0:#,0.#%}", ComparisonMode.LowerBetter); }
static TankViewModelBase() { HealthDescriptor = new DataItemDescriptor <TankViewModelBase>("TankHealthFullName", tank => tank, tank => tank.Health, "UnitHealthPoints", "TankHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <TankViewModelBase>("TankWeightFullName", tank => tank, tank => tank.Weight, "UnitKilograms", "TankWeightDescription", "{0:#,0}", ComparisonMode.Plain); EquipmentWeightDescriptor = new DataItemDescriptor <TankViewModelBase>("TankEquipmentWeightFullName", tank => tank, tank => tank.EquipmentWeight, "UnitKilograms", "TankEquipmentWeightDescription", "{0:#,0}", ComparisonMode.Plain); RepairCostDescriptor = new DataItemDescriptor <TankViewModelBase>("TankRepairCostFullName", tank => tank, tank => tank.RepairCost, "UnitCredits", "TankRepairCostDescription", "{0:#,0.#}", ComparisonMode.LowerBetter); MatchmakingWeightDescriptor = new DataItemDescriptor <TankViewModelBase>("TankMatchmakingWeightFullName", tank => tank, tank => tank.Tank.MatchMakingWeight, null, "TankMatchmakingWeightDescription", "{0:#,0.#}", ComparisonMode.LowerBetter); BattleTiersDescriptor = new DataItemDescriptor <TankViewModelBase>("TankBattleTiersFullName", tank => tank, tank => tank.BattleTiers, null, "TankBattleTiersDescription", "{0}", ComparisonMode.NotComparable, isDecimal: false, benchmarkRatio: 0.02); PriceDescriptor = new DataItemDescriptor <TankViewModelBase>("TankPriceFullName", tank => tank, tank => tank.Price, null, "TankPriceDescription", "{0}", ComparisonMode.LowerBetter); StationaryCamouflageDescriptor = new DataItemDescriptor <TankViewModelBase>("TankStationaryCamouflageFullName", tank => tank, tank => tank.StationaryCamoflagueValue, null, "TankStationaryCamouflageDescription", "{0}", ComparisonMode.HigherBetter, isDecimal: false); MovingCamouflageDescriptor = new DataItemDescriptor <TankViewModelBase>("TankMovingCamouflageFullName", tank => tank, tank => tank.MovingCamoflagueValue, null, "TankMovingCamouflageDescription", "{0}", ComparisonMode.HigherBetter, isDecimal: false); FiringStationaryCamouflageDescriptor = new DataItemDescriptor <TankViewModelBase>( "TankFiringStationaryCamouflageFullName", tank => tank, tank => tank.FiringStationaryCamoflagueValue, null, "TankFiringStationaryCamouflageDescription", "{0}", ComparisonMode.HigherBetter, isDecimal: false); FiringMovingCamouflageDescriptor = new DataItemDescriptor <TankViewModelBase>("TankFiringMovingCamouflageFullName", tank => tank, tank => tank.FiringMovingCamoflagueValue, null, "TankFiringMovingCamouflageDescription", "{0}", ComparisonMode.HigherBetter, isDecimal: false); }
static RadioViewModel() { HealthDescriptor = new DataItemDescriptor <RadioViewModel>("RadioHealthFullName", tank => tank.LoadedModules.Radio, radio => radio.Health, "UnitHealthPoints", "RadioHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); SignalDistanceDescriptor = new DataItemDescriptor <RadioViewModel>("RadioSignalDistanceFullName", tank => tank.LoadedModules.Radio, radio => radio.SignalDistance, "UnitMeters", "RadioSignalDistanceDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <RadioViewModel>("RadioWeightFullName", tank => tank.LoadedModules.Radio, radio => radio.Radio.Weight, "UnitKilograms", "RadioWeightDescription", "{0:#,0}", ComparisonMode.Plain); }
private static void HandleItem(XmlReader reader, DataItemCallback cbk) { // should be positioned on the dataItem element Debug.Assert(reader.NodeType == XmlNodeType.Element && reader.LocalName == "dataItem"); //reader.ReadAttributeValue(); string name = reader.GetAttribute("name", "http://www.cornellracing.com/datasetConfig.xsd"); string typename = reader.GetAttribute("type", "http://www.cornellracing.com/datasetConfig.xsd"); string units = reader.GetAttribute("units", "http://www.cornellracing.com/datasetConfig.xsd"); string maxEntriesStr = reader.GetAttribute("maxEntries", "http://www.cornellracing.com/datasetConfig.xsd"); string specialType = reader.GetAttribute("specialType", "http://www.cornellracing.com/datasetConfig.xsd"); // get the list of attributes List <KeyValuePair <string, string> > attribs = new List <KeyValuePair <string, string> >(); if (reader.MoveToFirstAttribute()) { do { if (reader.NamespaceURI != "http://www.cornellracing.com/datasetConfig.xsd") { attribs.Add(new KeyValuePair <string, string>(reader.LocalName, reader.Value)); } } while (reader.MoveToNextAttribute()); reader.MoveToElement(); } // try to parse Type type = GetType(typename); // read the next thing in the document string description = null; if (!reader.Read()) { throw new InvalidOperationException(); } if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "description" && reader.NamespaceURI == "http://www.cornellracing.com/datasetConfig.xsd") { // there is a description field description = reader.ReadElementContentAsString("description", "http://www.cornellracing.com/datasetConfig.xsd"); } int capacity = 250; if (maxEntriesStr != null) { capacity = int.Parse(maxEntriesStr); } DataItemDescriptor desc = new DataItemDescriptor(name, type, description, units, capacity); cbk(desc, specialType, attribs); }
static EngineViewModel() { EnginePowerDescriptor = new DataItemDescriptor <EngineViewModel>("EnginePowerFullName", tank => tank.LoadedModules.Engine, engine => engine.HorsePower, "UnitHorsePowers", "EnginePowerDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); SpecificPowerDescriptor = new DataItemDescriptor <EngineViewModel>("EngineSpecificPowerFullName", tank => tank.LoadedModules.Engine, engine => engine.SpecificPower, "UnitHorsePowersPerTon", "EngineSpecificPowerDescription", "{0:#,0.##}", ComparisonMode.HigherBetter); FireChanceDescriptor = new DataItemDescriptor <EngineViewModel>("EngineFireChanceFullName", tank => tank.LoadedModules.Engine, engine => engine.FireChance, null, "EngineFireChanceDescription", "{0:#,0.#%}", ComparisonMode.LowerBetter); HealthDescriptor = new DataItemDescriptor <EngineViewModel>("EngineHealthFullName", tank => tank.LoadedModules.Engine, engine => engine.Health, "UnitHealthPoints", "EngineHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <EngineViewModel>("EngineWeightFullName", tank => tank.LoadedModules.Engine, engine => engine.Engine.Weight, "UnitKilograms", "EngineWeightDescription", "{0:#,0.#}", ComparisonMode.Plain); }
static FuelTankViewModel() { HealthDescriptor = new DataItemDescriptor <FuelTankViewModel>("FuelTankHealthFullName", tank => tank.LoadedModules.FuelTank, fueltank => fueltank.Health, "UnitHealthPoints", "FuelTankHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); FuelTypeDescriptor = new DataItemDescriptor <FuelTankViewModel>("FuelTankFuelTypeFullName", tank => tank.LoadedModules.FuelTank, fueltank => fueltank.FuelType, null, "FuelTankFuelTypeDescription", "{0}", ComparisonMode.NotComparable); GroupViewDescriptor = new DataGroupViewDescriptor("FuelTank"); GroupViewDescriptor.Items.Add(new DataItemViewDescriptor("Health", HealthDescriptor)); GroupViewDescriptor.Items.Add(new DataSeparatorDescriptor()); GroupViewDescriptor.Items.Add(new DataItemViewDescriptor("FuelType", FuelTypeDescriptor)); }
static HullViewModel() { FrontalArmorDescriptor = new DataItemDescriptor <HullViewModel>("HullFrontalArmorFullName", tank => tank.LoadedModules.Hull, hull => hull.Hull.FrontalArmor, "UnitMillimeters", "HullFrontalArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); SideArmorDescriptor = new DataItemDescriptor <HullViewModel>("HullSideArmorFullName", tank => tank.LoadedModules.Hull, hull => hull.Hull.SideArmor, "UnitMillimeters", "HullSideArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); RearArmorDescriptor = new DataItemDescriptor <HullViewModel>("HullRearArmorFullName", tank => tank.LoadedModules.Hull, hull => hull.Hull.RearArmor, "UnitMillimeters", "HullRearArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); HealthDescriptor = new DataItemDescriptor <HullViewModel>("HullHealthFullName", tank => tank.LoadedModules.Hull, hull => hull.Hull.MaxHealth, "UnitHealthPoints", "HullHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <HullViewModel>("HullWeightFullName", tank => tank.LoadedModules.Hull, hull => hull.Hull.Weight, "UnitKilograms", "HullWeightDescription", "{0:#,0}", ComparisonMode.Plain); }
public RunRateDataItemSource(DataItemDescriptor desc, List <KeyValuePair <string, string> > attributes) : base(desc) { // initialize the default settings windowSize = DefaultWindowSize; int nominalRate = DefaultRate; // process the attributes foreach (KeyValuePair <string, string> attrib in attributes) { string attribName = attrib.Key.ToLower(); if (attribName == "windowsize") { if (!int.TryParse(attrib.Value, out windowSize)) { windowSize = DefaultWindowSize; } } else if (attribName == "nominalrate") { if (!int.TryParse(attrib.Value, out nominalRate)) { nominalRate = DefaultRate; } } } // bound the window size below if (windowSize < MinWindowSize) { windowSize = MinWindowSize; } // don't let the nominal rate be less that the default space -- allocating a bit more storage isn't too bad if (nominalRate < DefaultRate) { nominalRate = DefaultRate; } // construct the sub items DataItemDescriptor periodMaxDesc = new DataItemDescriptor(desc.Name + " (max period)", typeof(double), desc.Description, "s", desc.Capacity); DataItemDescriptor periodStdDevDesc = new DataItemDescriptor(desc.Name + " (period σ)", typeof(double), desc.Description, "s", desc.Capacity); // create the data items periodMaxDataItem = new DataItemSource <double>(periodMaxDesc); periodStdDevDataItem = new DataItemSource <double>(periodStdDevDesc); // create the queue array using the window size and default rate runTimeQueue = new RunTimeEntry[windowSize * nominalRate]; }
static TurretViewModel() { RotationSpeedDescriptor = new DataItemDescriptor <TurretViewModel>("TurretRotationSpeedFullName", tank => tank.LoadedModules.Turret, turret => turret.RotationSpeed, "UnitDegreesPerSecond", "TurretRotationSpeedDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); CircularVisionRadiusDescriptor = new DataItemDescriptor <TurretViewModel>("TurretCircularVisionRadiusFullName", tank => tank.LoadedModules.Turret, turret => turret.CircularVisionRadius, "UnitMeters", "TurretCircularVisionRadiusDescription", "{0:#,0.#}", ComparisonMode.HigherBetter, benchmarkRatio: 0.08); FrontalArmorDescriptor = new DataItemDescriptor <TurretViewModel>("TurretFrontalArmorFullName", tank => tank.LoadedModules.Turret, turret => turret.Turret.FrontalArmor, "UnitMillimeters", "TurretFrontalArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); SideArmorDescriptor = new DataItemDescriptor <TurretViewModel>("TurretSideArmorFullName", tank => tank.LoadedModules.Turret, turret => turret.Turret.SideArmor, "UnitMillimeters", "TurretSideArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); RearArmorDescriptor = new DataItemDescriptor <TurretViewModel>("TurretRearArmorFullName", tank => tank.LoadedModules.Turret, turret => turret.Turret.RearArmor, "UnitMillimeters", "TurretRearArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); HorizontalTraverseDescriptor = new DataItemDescriptor <TurretViewModel>("TurretHorizontalTraverseFullName", tank => tank.LoadedModules.Turret, turret => turret.HorizontalTraverse, "UnitDegrees", "TurretHorizontalTraverseDescription", "{0}", ComparisonMode.HigherBetter); HealthDescriptor = new DataItemDescriptor <TurretViewModel>("TurretHealthFullName", tank => tank.LoadedModules.Turret, turret => turret.Turret.MaxHealth, "UnitHealthPoints", "TurretHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <TurretViewModel>("TurretWeightFullName", tank => tank.LoadedModules.Turret, turret => turret.Turret.Weight, "UnitKilograms", "TurretWeightDescription", "{0:#,0}", ComparisonMode.Plain); }
static GunViewModel() { ReloadTimeDescriptor = new DataItemDescriptor <GunViewModel>("GunReloadTimeFullName", tank => tank.LoadedModules.Gun, gun => gun.ReloadTime, "UnitSeconds", "GunReloadTimeDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); AccuracyDescriptor = new DataItemDescriptor <GunViewModel>("GunAccuracyFullName", tank => tank.LoadedModules.Gun, gun => gun.Accuracy, "UnitMetersPer100Meters", "GunAccuracyDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); ArmorDescriptor = new DataItemDescriptor <GunViewModel>("GunArmorFullName", tank => tank.LoadedModules.Gun, gun => gun.Gun.GunArmor, "UnitMillimeters", "GunArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); AimingTimeDescriptor = new DataItemDescriptor <GunViewModel>("GunAimingTimeFullName", tank => tank.LoadedModules.Gun, gun => gun.AimingTime, "UnitSeconds", "GunAimingTimeDescription", "{0:#,0.0#}", ComparisonMode.LowerBetter); RateOfFireDescriptor = new DataItemDescriptor <GunViewModel>("GunRateOfFireFullName", tank => tank.LoadedModules.Gun, gun => gun.RateOfFire, "UnitShotsPerMinute", "GunRateOfFireDescription", "{0:#,0.00#}", ComparisonMode.HigherBetter); ElevationDescriptor = new DataItemDescriptor <GunViewModel>("GunElevationFullName", tank => tank.LoadedModules.Gun, gun => gun.Elevation, "UnitDegrees", "GunElevationDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); DepressionDescriptor = new DataItemDescriptor <GunViewModel>("GunDepressionFullName", tank => tank.LoadedModules.Gun, gun => gun.Depression, "UnitDegrees", "GunDepressionDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); DispersionAfterShotDescriptor = new DataItemDescriptor <GunViewModel>("GunDispersionAfterShotFullName", tank => tank.LoadedModules.Gun, gun => gun.DispersionAfterShot, "UnitFactor", "GunDispersionAfterShotDescription", "{0:#,0.00#}", ComparisonMode.LowerBetter); DispersionOnTurretRotationDescriptor = new DataItemDescriptor <GunViewModel>("GunDispersionOnTurretRotationFullName", tank => tank.LoadedModules.Gun, gun => gun.DispersionOnTurretRotation, "UnitFactor", "GunDispersionOnTurretRotationDescription", "{0:#,0.00#}", ComparisonMode.LowerBetter); DispersionOnTurretFullSpeedRotatingDescriptor = new DataItemDescriptor <GunViewModel>("GunDispersionOnTurretFullSpeedRotatingFullName", tank => tank.LoadedModules.Gun, gun => gun.DispersionOnTurretFullSpeedRotating, "UnitFactor", "GunDispersionOnTurretFullSpeedRotatingDescription", "{0:#,0.##}", ComparisonMode.LowerBetter); DispersionWhileGunDamagedDescriptor = new DataItemDescriptor <GunViewModel>("GunDispersionWhileGunDamagedFullName", tank => tank.LoadedModules.Gun, gun => gun.DispersionWhileGunDamaged, "UnitFactor", "GunDispersionWhileGunDamagedDescription", "{0:#,0.00#}", ComparisonMode.LowerBetter); HorizontalTraverseDescriptor = new DataItemDescriptor <GunViewModel>("GunHorizontalTraverseFullName", tank => tank.LoadedModules.Gun, gun => gun.HorizontalTraverse, "UnitDegrees", "GunHorizontalTraverseDescription", "{0}", ComparisonMode.HigherBetter); RotationSpeedDescriptor = new DataItemDescriptor <GunViewModel>("GunRotationSpeedFullName", tank => tank.LoadedModules.Gun, gun => gun.Gun.RotationSpeed, "UnitDegreesPerSecond", "GunRotationSpeedDescription", "{0:#,0.##}", ComparisonMode.HigherBetter); MaxAmmoDescriptor = new DataItemDescriptor <GunViewModel>("GunMaxAmmoFullName", tank => tank.LoadedModules.Gun, gun => gun.Gun.MaxAmmo, "UnitShots", "GunMaxAmmoDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); ClipCountDescriptor = new DataItemDescriptor <GunViewModel>("GunClipCountFullName", tank => tank.LoadedModules.Gun, gun => gun.ClipCount, "UnitShots", "GunClipCountDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); ClipReloadTimeDescriptor = new DataItemDescriptor <GunViewModel>("GunClipReloadTimeFullName", tank => tank.LoadedModules.Gun, gun => gun.ClipReloadTime, "UnitSeconds", "GunClipReloadTimeDescription", "{0:#,0.00#}", ComparisonMode.LowerBetter); BurstCountDescriptor = new DataItemDescriptor <GunViewModel>("GunBurstCountFullName", tank => tank.LoadedModules.Gun, gun => gun.BurstCount, "UnitShots", "GunBurstCountDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); BurstRateOfFireDescriptor = new DataItemDescriptor <GunViewModel>("GunBurstRateOfFireFullName", tank => tank.LoadedModules.Gun, gun => gun.BurstRateOfFire, "UnitShotsPerMinute", "GunBurstRateOfFireDescription", "{0:#,0.00#}", ComparisonMode.HigherBetter); CaliberDescriptor = new DataItemDescriptor <GunViewModel>("GunCaliberFullName", tank => tank.LoadedModules.Gun, gun => gun.Caliber, "UnitMillimeters", "GunCaliberDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); HealthDescriptor = new DataItemDescriptor <GunViewModel>("GunHealthFullName", tank => tank.LoadedModules.Gun, gun => gun.Health, "UnitHealthPoints", "GunHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <GunViewModel>("GunWeightFullName", tank => tank.LoadedModules.Gun, gun => gun.Gun.Weight, "UnitKilograms", "GunWeightDescription", "{0:#,0.#}", ComparisonMode.Plain); }
public object MapField(BigEndianBinaryReader reader, DatasetSource ds, CarTimestamp ct) { object val = MapData(ReadData(reader)); if (!string.IsNullOrEmpty(dsitem) && ds != null) { IDataItemSource di; if (!ds.TryGetValue(dsitem, out di)) { Type digType = typeof(DataItemSource <>); Type diType = digType.MakeGenericType(outtype); DataItemDescriptor desc = new DataItemDescriptor(dsitem, outtype, null, null, 250); di = (IDataItemSource)Activator.CreateInstance(diType, desc); ds.Add(dsitem, di); } di.Add(val, ct); } return(val); }
static ChassisViewModel() { RotationSpeedDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisRotationSpeedFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.RotationSpeed, "UnitDegreesPerSecond", "ChassisRotationSpeedDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); ForwardSpeedLimitDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisForwardSpeedLimitFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Chassis.SpeedLimits.Forward, "UnitKilometersPerHour", "ChassisForwardSpeedLimitDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); BackwardSpeedLimitDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisBackwardSpeedLimitFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Chassis.SpeedLimits.Backward, "UnitKilometersPerHour", "ChassisBackwardSpeedLimitDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); HardTerrainResistanceDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisHardTerrainResistanceFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.HardTerrainResistance, "UnitMetersPerSquareSecond", "ChassisHardTerrainResistanceDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); MediumTerrainResistanceDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisMediumTerrainResistanceFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.MediumTerrainResistance, "UnitMetersPerSquareSecond", "ChassisMediumTerrainResistanceDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); SoftTerrainResistanceDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisSoftTerrainResistanceFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.SoftTerrainResistance, "UnitMetersPerSquareSecond", "ChassisSoftTerrainResistanceDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); CanTraverseDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisCanTraverseFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.CanTraverse, null, "ChassisCanTraverseDescription", "{0}", ComparisonMode.NotComparable, 0.0, false); BrakeForceDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisBrakeForceFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Chassis.BrakeForce, "UnitNewtons", "ChassisBrakeForceDescription", "{0:#,0}", ComparisonMode.HigherBetter); MaxClimbAngleDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisMaxClimbAngleFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Chassis.MaxClimbAngle, "UnitDegrees", "ChassisMaxClimbAngleDescription", "{0:#,0}", ComparisonMode.HigherBetter); DispersionOnVehicleMoveDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisDispersionOnVehicleMoveFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.DispersionOnMovement, "UnitFactor", "ChassisDispersionOnVehicleMoveDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); DispersionOnVehicleFullSpeedMovingDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisDispersionOnVehicleFullSpeedMovingFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.DispersionOnFullSpeedMoving, "UnitFactor", "ChassisDispersionOnVehicleFullSpeedMovingDescription", "{0:0.##}", ComparisonMode.LowerBetter); DispersionOnVehicleRotationDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisDispersionOnVehicleRotationFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.DispersionOnRotation, "UnitFactor", "ChassisDispersionOnVehicleRotationDescription", "{0:#,0.0##}", ComparisonMode.LowerBetter); DispersionOnVehicleFullSpeedRotatingDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisDispersionOnVehicleFullSpeedRotatingFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.DispersionOnFullSpeedRotating, "UnitFactor", "ChassisDispersionOnVehicleFullSpeedRotatingDescription", "{0:#,0.##}", ComparisonMode.LowerBetter); MaxLoadDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisMaxLoadFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.MaxLoad, "UnitKilograms", "ChassisMaxLoadDescription", "{0:#,0}", ComparisonMode.HigherBetter); HealthDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisHealthFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Health, "UnitHealthPoints", "ChassisHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); WeightDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisWeightFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.Chassis.Weight, "UnitKilograms", "ChassisWeightDescription", "{0:#,0}", ComparisonMode.Plain); ArmorDescriptor = new DataItemDescriptor <ChassisViewModel>("ChassisArmorFullName", tank => tank.LoadedModules.Chassis, chassis => chassis.TrackArmor, "UnitMillimeters", "ChassisArmorDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); }
public MapFieldsDataItemClient(DataItemDescriptor desc, DatasetClient parent) : base(desc) { Init(desc.Name, parent); }
static TurretRotatorViewModel() { HealthDescriptor = new DataItemDescriptor <TurretRotatorViewModel>("TurretRotatorHealthFullName", tank => tank.LoadedModules.Turret.TurretRotator, rotator => rotator.Health, "UnitHealthPoints", "TurretRotatorHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); }
static AmmoBayViewModel() { HealthDescriptor = new DataItemDescriptor <AmmoBayViewModel>("AmmoBayHealthFullName", tank => tank.LoadedModules.Turret.AmmoBay, ammoBay => ammoBay.Health, "UnitHealthPoints", "AmmoBayHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); }
public DataItemSource(DataItemDescriptor ds) { this.desc = ds; this.dtc = ds.DataTypeCode; this.name = ds.Name; }
static SurveyingDeviceViewModel() { HealthDescriptor = new DataItemDescriptor <SurveyingDeviceViewModel>("SurveyingDeviceHealthFullName", tank => tank.LoadedModules.Turret.SurveyingDevice, device => device.Health, "UnitHealthPoints", "SurveyingDeviceHealthDescription", "{0:#,0.#}", ComparisonMode.HigherBetter); }
public DataItemClient(DataItemDescriptor desc) { this.name = desc.Name; this.units = desc.Units; }