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
|
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);
|
var processInfo = new ProcessInfo(newProcess, name);
|
||||||
Queue(processInfo);
|
Queue(processInfo);
|
||||||
return newProcess;
|
return newProcess;
|
||||||
|
|
|
@ -217,7 +217,7 @@ namespace Blarg.GameFramework.States
|
||||||
|
|
||||||
public T Push<T>(string name = null) where T : GameState
|
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);
|
var stateInfo = new StateInfo(newState, name);
|
||||||
QueueForPush(stateInfo);
|
QueueForPush(stateInfo);
|
||||||
return newState;
|
return newState;
|
||||||
|
@ -225,7 +225,7 @@ namespace Blarg.GameFramework.States
|
||||||
|
|
||||||
public T Overlay<T>(string name = null) where T : GameState
|
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);
|
var stateInfo = new StateInfo(newState, name);
|
||||||
stateInfo.IsOverlay = true;
|
stateInfo.IsOverlay = true;
|
||||||
QueueForPush(stateInfo);
|
QueueForPush(stateInfo);
|
||||||
|
@ -241,7 +241,7 @@ namespace Blarg.GameFramework.States
|
||||||
throw new InvalidOperationException("Cannot swap, no existing states.");
|
throw new InvalidOperationException("Cannot swap, no existing states.");
|
||||||
bool isOverlay = currentTopStateInfo.IsOverlay;
|
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);
|
var stateInfo = new StateInfo(newState, name);
|
||||||
stateInfo.IsOverlay = isOverlay;
|
stateInfo.IsOverlay = isOverlay;
|
||||||
QueueForSwap(stateInfo, false);
|
QueueForSwap(stateInfo, false);
|
||||||
|
@ -250,7 +250,7 @@ namespace Blarg.GameFramework.States
|
||||||
|
|
||||||
public T SwapTopNonOverlayWith<T>(string name = null) where T : GameState
|
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);
|
var stateInfo = new StateInfo(newState, name);
|
||||||
QueueForSwap(stateInfo, true);
|
QueueForSwap(stateInfo, true);
|
||||||
return newState;
|
return newState;
|
||||||
|
|
Reference in a new issue