Просмотр исходного кода

CoreServices has setupBasicListeners for aftermath of removeAllListeners

mcc 13 лет назад
Родитель
Сommit
d3bf213aa8

+ 5 - 0
Core/Contents/Include/PolyCoreServices.h

@@ -67,6 +67,11 @@ namespace Polycode {
 			void Update(int elapsed);
 			
 			void setCore(Core *core);
+		
+			/**
+			* Reloads the event listeners CoreServices configures as part of construction/setCore. Useful if removeAllListeners is called on the core input object.
+			*/
+			void setupBasicListeners();
 			
 			/**
 			* Returns the core. 

+ 9 - 5
Core/Contents/Source/PolyCoreServices.cpp

@@ -113,6 +113,10 @@ void CoreServices::installModule(PolycodeModule *module)  {
 	}
 }
 
+void CoreServices::setupBasicListeners() {
+	this->setCore(this->core);	
+}
+
 CoreServices::CoreServices() : EventDispatcher() {
 	resourceManager = new ResourceManager();	
 	config = new Config();
@@ -122,12 +126,12 @@ CoreServices::CoreServices() : EventDispatcher() {
 	addEventListener(screenManager, InputEvent::EVENT_MOUSEMOVE);
 	addEventListener(screenManager, InputEvent::EVENT_MOUSEUP);
 	addEventListener(screenManager, InputEvent::EVENT_MOUSEWHEEL_UP);
-	addEventListener(screenManager, InputEvent::EVENT_MOUSEWHEEL_DOWN);	
+	addEventListener(screenManager, InputEvent::EVENT_MOUSEWHEEL_DOWN);
 	addEventListener(screenManager, InputEvent::EVENT_KEYDOWN);
-	addEventListener(screenManager, InputEvent::EVENT_KEYUP);	
-	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_BEGAN);	
-	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_ENDED);	
-	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_MOVED);				
+	addEventListener(screenManager, InputEvent::EVENT_KEYUP);
+	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_BEGAN);
+	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_ENDED);
+	addEventListener(screenManager, InputEvent::EVENT_TOUCHES_MOVED);
 	sceneManager = new SceneManager();
 	timerManager = new TimerManager();
 	tweenManager = new TweenManager();