chore: Added Initial Engine Code
This commit is contained in:
19
Engine.Core/Factory/StateEnableFactory.cs
Normal file
19
Engine.Core/Factory/StateEnableFactory.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Syntriax.Engine.Core.Abstract;
|
||||
using Syntriax.Engine.Core.Exceptions;
|
||||
|
||||
namespace Syntriax.Engine.Core.Factory;
|
||||
|
||||
public class StateEnableFactory
|
||||
{
|
||||
public IStateEnable Instantiate(IEntity entity) => Instantiate<StateEnable>(entity);
|
||||
|
||||
public T Instantiate<T>(IEntity entity, params object?[]? args) where T : class, IStateEnable
|
||||
{
|
||||
T stateEnable = TypeFactory.Get<T>(args);
|
||||
|
||||
if (!stateEnable.Assign(entity))
|
||||
throw AssignException.From(stateEnable, entity);
|
||||
|
||||
return stateEnable;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user