From 1c1b0be8bbf099d6bdf2e42eea6dcfbdd00ec10b Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sun, 10 Jan 2010 13:47:31 +1300 Subject: [PATCH] StatelessTraitInfo --- OpenRa.Game/Traits/TraitsInterfaces.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenRa.Game/Traits/TraitsInterfaces.cs b/OpenRa.Game/Traits/TraitsInterfaces.cs index 440eda8a1f..1b0b8d7fc7 100644 --- a/OpenRa.Game/Traits/TraitsInterfaces.cs +++ b/OpenRa.Game/Traits/TraitsInterfaces.cs @@ -2,6 +2,7 @@ using System.Drawing; using OpenRa.Game.GameRules; using OpenRa.Game.Graphics; +using IjwFramework.Types; namespace OpenRa.Game.Traits { @@ -71,4 +72,12 @@ namespace OpenRa.Game.Traits } interface ITraitInfo { object Create(Actor self); } + + class StatelessTraitInfo : ITraitInfo + where T : new() + { + static Lazy Instance = Lazy.New(() => new T()); + public object Create(Actor self) { return Instance.Value; } + } + }