StatelessTraitInfo<T>
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using OpenRa.Game.GameRules;
|
using OpenRa.Game.GameRules;
|
||||||
using OpenRa.Game.Graphics;
|
using OpenRa.Game.Graphics;
|
||||||
|
using IjwFramework.Types;
|
||||||
|
|
||||||
namespace OpenRa.Game.Traits
|
namespace OpenRa.Game.Traits
|
||||||
{
|
{
|
||||||
@@ -71,4 +72,12 @@ namespace OpenRa.Game.Traits
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface ITraitInfo { object Create(Actor self); }
|
interface ITraitInfo { object Create(Actor self); }
|
||||||
|
|
||||||
|
class StatelessTraitInfo<T> : ITraitInfo
|
||||||
|
where T : new()
|
||||||
|
{
|
||||||
|
static Lazy<T> Instance = Lazy.New(() => new T());
|
||||||
|
public object Create(Actor self) { return Instance.Value; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user