fix game state/process instantiation
This commit is contained in:
parent
2547677649
commit
de552d03d3
|
@ -216,7 +216,7 @@ namespace Blarg.GameFramework.Processes
|
|||
|
||||
public T Add<T>(string name = null) where T : GameProcess
|
||||
{
|
||||
var newProcess = (T)Activator.CreateInstance(typeof(T), this);
|
||||
var newProcess = (T)Activator.CreateInstance(typeof(T), this, GameState.EventManager);
|
||||
var processInfo = new ProcessInfo(newProcess, name);
|
||||
Queue(processInfo);
|
||||
return newProcess;
|
||||
|
|
|
@ -217,7 +217,7 @@ namespace Blarg.GameFramework.States
|
|||
|
||||
public T Push<T>(string name = null) where T : GameState
|
||||
{
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this);
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this, EventManager);
|
||||
var stateInfo = new StateInfo(newState, name);
|
||||
QueueForPush(stateInfo);
|
||||
return newState;
|
||||
|
@ -225,7 +225,7 @@ namespace Blarg.GameFramework.States
|
|||
|
||||
public T Overlay<T>(string name = null) where T : GameState
|
||||
{
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this);
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this, EventManager);
|
||||
var stateInfo = new StateInfo(newState, name);
|
||||
stateInfo.IsOverlay = true;
|
||||
QueueForPush(stateInfo);
|
||||
|
@ -241,7 +241,7 @@ namespace Blarg.GameFramework.States
|
|||
throw new InvalidOperationException("Cannot swap, no existing states.");
|
||||
bool isOverlay = currentTopStateInfo.IsOverlay;
|
||||
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this);
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this, EventManager);
|
||||
var stateInfo = new StateInfo(newState, name);
|
||||
stateInfo.IsOverlay = isOverlay;
|
||||
QueueForSwap(stateInfo, false);
|
||||
|
@ -250,7 +250,7 @@ namespace Blarg.GameFramework.States
|
|||
|
||||
public T SwapTopNonOverlayWith<T>(string name = null) where T : GameState
|
||||
{
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this);
|
||||
var newState = (T)Activator.CreateInstance(typeof(T), this, EventManager);
|
||||
var stateInfo = new StateInfo(newState, name);
|
||||
QueueForSwap(stateInfo, true);
|
||||
return newState;
|
||||
|
|
Reference in a new issue