private void InitProperties() { _decay = new UnitOptionalProperty <int>(this, UnitDataType.Decay, k.decay, () => 255); OptionalProperties.Add(_decay); _tint = new UnitOptionalProperty <Color>(this, UnitDataType.Tint, k.tint, () => ED.Config.Tint); OptionalProperties.Add(_tint); _powerGridMax = new UnitProperty(this, AggregateField.powergrid_max, AggregateField.powergrid_max_modifier); AddProperty(_powerGridMax); _powerGrid = new PowerGridProperty(this); AddProperty(_powerGrid); _cpuMax = new UnitProperty(this, AggregateField.cpu_max, AggregateField.cpu_max_modifier); AddProperty(_cpuMax); _cpu = new CpuProperty(this); AddProperty(_cpu); _ammoReloadTime = new UnitProperty(this, AggregateField.ammo_reload_time, AggregateField.ammo_reload_time_modifier); AddProperty(_ammoReloadTime); _missileHitChance = new UnitProperty(this, AggregateField.missile_miss, AggregateField.missile_miss_modifier); AddProperty(_missileHitChance); _decayChance = new DecayChanceProperty(this); AddProperty(_decayChance); }
public PBSObjectHelper(T pbsUnit) { _pbsUnit = pbsUnit; _pbsUnit.DamageTaken += OnUnitDamageTaken; ConnectionHandler = new PBSConnectionHandler <T>(pbsUnit); _constructionLevelCurrent = new UnitOptionalProperty <int>(_pbsUnit, UnitDataType.ConstructionLevelCurrent, k.constructionLevelCurrent, () => 1); _pbsUnit.OptionalProperties.Add(_constructionLevelCurrent); _saver = new PBSObjectSaver <T>(Entity.Repository, TimeSpan.FromMinutes(15)); }