no more stateless garbage
This commit is contained in:
@@ -23,7 +23,7 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class AutoHealInfo : StatelessTraitInfo<AutoHeal> { }
|
||||
class AutoHealInfo : TraitInfo<AutoHeal> { }
|
||||
|
||||
class AutoHeal : ITick
|
||||
{
|
||||
|
||||
@@ -23,12 +23,10 @@ using System.Drawing;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class AutoTargetInfo : ITraitInfo
|
||||
class AutoTargetInfo : TraitInfo<AutoTarget>
|
||||
{
|
||||
public readonly float ScanTimeAverage = 2f;
|
||||
public readonly float ScanTimeSpread = .5f;
|
||||
|
||||
public object Create(Actor self) { return new AutoTarget(); }
|
||||
}
|
||||
|
||||
class AutoTarget : ITick, INotifyDamage
|
||||
|
||||
@@ -6,7 +6,7 @@ using OpenRA.GameRules;
|
||||
|
||||
namespace OpenRA.Traits.AI
|
||||
{
|
||||
class EmitInfantryOnSellInfo : StatelessTraitInfo<EmitInfantryOnSell>
|
||||
class EmitInfantryOnSellInfo : TraitInfo<EmitInfantryOnSell>
|
||||
{
|
||||
public readonly float ValueFraction = .4f;
|
||||
public readonly float MinHpFraction = .3f;
|
||||
|
||||
@@ -24,7 +24,7 @@ using System.Drawing;
|
||||
|
||||
namespace OpenRA.Traits.AI
|
||||
{
|
||||
class ReturnOnIdleInfo : StatelessTraitInfo<ReturnOnIdle> { }
|
||||
class ReturnOnIdleInfo : TraitInfo<ReturnOnIdle> { }
|
||||
|
||||
// fly home or fly-off-map behavior for idle planes
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class BuildableInfo : StatelessTraitInfo<Buildable>
|
||||
class BuildableInfo : TraitInfo<Buildable>
|
||||
{
|
||||
public readonly int TechLevel = -1;
|
||||
public readonly string[] Prerequisites = { };
|
||||
|
||||
@@ -4,7 +4,7 @@ using OpenRA.Orders;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class PowerDownButtonInfo : StatelessTraitInfo<PowerDownButton> { }
|
||||
class PowerDownButtonInfo : TraitInfo<PowerDownButton> { }
|
||||
|
||||
class PowerDownButton : IChromeButton
|
||||
{
|
||||
@@ -14,7 +14,7 @@ namespace OpenRA.Traits
|
||||
public void OnClick() { Game.controller.ToggleInputMode<PowerDownOrderGenerator>(); }
|
||||
}
|
||||
|
||||
class SellButtonInfo : StatelessTraitInfo<SellButton> { }
|
||||
class SellButtonInfo : TraitInfo<SellButton> { }
|
||||
|
||||
class SellButton : IChromeButton
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace OpenRA.Traits
|
||||
// allow a nonstandard sell/repair value to avoid
|
||||
// buy-sell exploits like c&c's PROC.
|
||||
|
||||
class CustomSellValueInfo : StatelessTraitInfo<CustomSellValue>
|
||||
class CustomSellValueInfo : TraitInfo<CustomSellValue>
|
||||
{
|
||||
public readonly int Value = 0;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ using OpenRA.Effects;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class ExplodesInfo : StatelessTraitInfo<Explodes> { }
|
||||
class ExplodesInfo : TraitInfo<Explodes> { }
|
||||
|
||||
class Explodes : INotifyDamage
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class FakeInfo : StatelessTraitInfo<Fake> { }
|
||||
class FakeInfo : TraitInfo<Fake> { }
|
||||
|
||||
class Fake : ITags
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
public class LineBuildInfo : StatelessTraitInfo<LineBuild>
|
||||
public class LineBuildInfo : TraitInfo<LineBuild>
|
||||
{
|
||||
public readonly int Range = 5;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ using System.Linq;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class BelowUnitsInfo : StatelessTraitInfo<BelowUnits> { }
|
||||
class BelowUnitsInfo : TraitInfo<BelowUnits> { }
|
||||
|
||||
class BelowUnits : IRenderModifier
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class InvisibleToOthersInfo : StatelessTraitInfo<InvisibleToOthers> { }
|
||||
class InvisibleToOthersInfo : TraitInfo<InvisibleToOthers> { }
|
||||
|
||||
class InvisibleToOthers : IRenderModifier
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@ using System.Linq;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class WithShadowInfo : StatelessTraitInfo<WithShadow> {}
|
||||
class WithShadowInfo : TraitInfo<WithShadow> {}
|
||||
|
||||
class WithShadow : IRenderModifier
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@ using OpenRA.Traits.Activities;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class PassengerInfo : StatelessTraitInfo<Passenger>
|
||||
class PassengerInfo : TraitInfo<Passenger>
|
||||
{
|
||||
public readonly PipType ColorOfCargoPip = PipType.Green;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class EvaAlertsInfo : StatelessTraitInfo<EvaAlerts>
|
||||
class EvaAlertsInfo : TraitInfo<EvaAlerts>
|
||||
{
|
||||
// Sound effects
|
||||
public readonly string TabClick = "ramenu1.aud";
|
||||
|
||||
@@ -23,7 +23,7 @@ using OpenRA.Effects;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class PlaceBuildingInfo : StatelessTraitInfo<PlaceBuilding> {}
|
||||
class PlaceBuildingInfo : TraitInfo<PlaceBuilding> {}
|
||||
|
||||
class PlaceBuilding : IResolveOrder
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace OpenRA.Traits
|
||||
}
|
||||
}
|
||||
|
||||
class JamsRadarInfo : StatelessTraitInfo<JamsRadar>
|
||||
class JamsRadarInfo : TraitInfo<JamsRadar>
|
||||
{
|
||||
public readonly int Range = 0;
|
||||
}
|
||||
|
||||
@@ -65,6 +65,6 @@ namespace OpenRA.Traits
|
||||
}
|
||||
}
|
||||
|
||||
class RenderRangeCircleInfo : StatelessTraitInfo<RenderRangeCircle> { }
|
||||
class RenderRangeCircleInfo : TraitInfo<RenderRangeCircle> { }
|
||||
class RenderRangeCircle { }
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ using System;
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
|
||||
public class RepairsUnitsInfo : StatelessTraitInfo<RepairsUnits>
|
||||
public class RepairsUnitsInfo : TraitInfo<RepairsUnits>
|
||||
{
|
||||
public readonly float URepairPercent = 0.2f;
|
||||
public readonly int URepairStep = 10;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
public class SelectableInfo : StatelessTraitInfo<Selectable>
|
||||
public class SelectableInfo : TraitInfo<Selectable>
|
||||
{
|
||||
public readonly int Priority = 10;
|
||||
public readonly int[] Bounds = null;
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class StoresOreInfo : StatelessTraitInfo<StoresOre>
|
||||
class StoresOreInfo : TraitInfo<StoresOre>
|
||||
{
|
||||
public readonly int Pips = 0;
|
||||
public readonly int Capacity = 0;
|
||||
|
||||
@@ -102,12 +102,7 @@ namespace OpenRA.Traits
|
||||
|
||||
public interface ITraitInfo { object Create(Actor self); }
|
||||
|
||||
public class StatelessTraitInfo<T> : ITraitInfo
|
||||
where T : new()
|
||||
{
|
||||
static Lazy<T> Instance = Lazy.New(() => new T());
|
||||
public object Create(Actor self) { return Instance.Value; }
|
||||
}
|
||||
public class TraitInfo<T> : ITraitInfo where T : new() { public object Create(Actor self) { return new T(); } }
|
||||
|
||||
public interface ITraitPrerequisite<T> { }
|
||||
|
||||
|
||||
@@ -20,6 +20,6 @@
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
public class WallInfo : StatelessTraitInfo<Wall> {}
|
||||
public class WallInfo : TraitInfo<Wall> {}
|
||||
public class Wall {}
|
||||
}
|
||||
|
||||
@@ -102,6 +102,6 @@ namespace OpenRA.Traits
|
||||
}
|
||||
}
|
||||
|
||||
class BibInfo : StatelessTraitInfo<Bib> { }
|
||||
class BibInfo : TraitInfo<Bib> { }
|
||||
public class Bib { }
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ using System.Linq;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class BridgeLoadHookInfo : StatelessTraitInfo<BridgeLoadHook> { }
|
||||
class BridgeLoadHookInfo : TraitInfo<BridgeLoadHook> { }
|
||||
|
||||
class BridgeLoadHook : ILoadWorldHook
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Linq;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class ChoosePaletteOnSelectInfo : StatelessTraitInfo<ChoosePaletteOnSelect> { }
|
||||
class ChoosePaletteOnSelectInfo : TraitInfo<ChoosePaletteOnSelect> { }
|
||||
|
||||
class ChoosePaletteOnSelect : INotifySelection
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
public class GlobalDefaultsInfo : StatelessTraitInfo<GlobalDefaults>
|
||||
public class GlobalDefaultsInfo : TraitInfo<GlobalDefaults>
|
||||
{
|
||||
/* Special Weapons */
|
||||
public readonly float GapRegenInterval = 0.1f;
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Drawing;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class LightPaletteRotatorInfo : StatelessTraitInfo<LightPaletteRotator> { }
|
||||
class LightPaletteRotatorInfo : TraitInfo<LightPaletteRotator> { }
|
||||
class LightPaletteRotator : ITick, IPaletteModifier
|
||||
{
|
||||
float t = 0;
|
||||
|
||||
@@ -25,7 +25,7 @@ using OpenRA.FileFormats;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class SpawnDefaultUnitsInfo : StatelessTraitInfo<SpawnDefaultUnits>
|
||||
class SpawnDefaultUnitsInfo : TraitInfo<SpawnDefaultUnits>
|
||||
{
|
||||
public readonly int InitialExploreRange = 5;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Text;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class SpawnMapActorsInfo : StatelessTraitInfo<SpawnMapActors> { }
|
||||
class SpawnMapActorsInfo : TraitInfo<SpawnMapActors> { }
|
||||
|
||||
class SpawnMapActors : IGameStarted
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class TheaterInfo : StatelessTraitInfo<Theater>
|
||||
class TheaterInfo : TraitInfo<Theater>
|
||||
{
|
||||
public readonly string Name = null;
|
||||
public readonly string Theater = null;
|
||||
|
||||
@@ -22,7 +22,7 @@ using System.Drawing;
|
||||
|
||||
namespace OpenRA.Traits
|
||||
{
|
||||
class WaterPaletteRotationInfo : StatelessTraitInfo<WaterPaletteRotation> { }
|
||||
class WaterPaletteRotationInfo : TraitInfo<WaterPaletteRotation> { }
|
||||
|
||||
class WaterPaletteRotation : ITick, IPaletteModifier
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user