diff --git a/JGE/include/JGui.h b/JGE/include/JGui.h index 536ce54e8..961840846 100644 --- a/JGE/include/JGui.h +++ b/JGE/include/JGui.h @@ -73,7 +73,7 @@ public: class JGuiController { protected: - static JGE* mEngine; + JGE* mEngine; int mId; bool mActive; @@ -101,7 +101,7 @@ public: vector mObjects; int mCount; - JGuiController(int id, JGuiListener* listener); + JGuiController(JGE* jge, int id, JGuiListener* listener); ~JGuiController(); virtual void Render(); diff --git a/JGE/src/JGui.cpp b/JGE/src/JGui.cpp index c38dde703..be6c2c455 100644 --- a/JGE/src/JGui.cpp +++ b/JGE/src/JGui.cpp @@ -13,8 +13,6 @@ JGE* JGuiObject::mEngine = NULL; -JGE* JGuiController::mEngine = NULL; - JGuiObject::JGuiObject(int id) : mId(id) { @@ -55,11 +53,9 @@ ostream& operator<<(ostream &out, const JGuiObject &j) return j.toString(out); } -JGuiController::JGuiController(int id, JGuiListener* listener) : - mId(id), mListener(listener) +JGuiController::JGuiController(JGE* jge, int id, JGuiListener* listener) : + mEngine(jge), mId(id), mListener(listener) { - mEngine = JGE::GetInstance(); - mBg = NULL; mShadingBg = NULL; @@ -189,10 +185,14 @@ bool JGuiController::CheckUserInput(JButton key) void JGuiController::Update(float dt) { for (int i = 0; i < mCount; i++) - if (mObjects[i] != NULL) mObjects[i]->Update(dt); + if (mObjects[i] != NULL) + mObjects[i]->Update(dt); - JButton key = mEngine->ReadButton(); - CheckUserInput(key); + if(mEngine) + { + JButton key = mEngine->ReadButton(); + CheckUserInput(key); + } } void JGuiController::Add(JGuiObject* ctrl)