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

Disabled reliable networking data again, fixed tweens not removing correctly

Ivan Safrin 12 лет назад
Родитель
Сommit
85b913e6c7

+ 2 - 3
Core/Contents/Include/PolyCoreInput.h

@@ -164,9 +164,8 @@ namespace Polycode {
 		* If set to true, will fire touch events on mouse input.
 		*/
 		bool simulateTouchWithMouse;
-		bool simulateMouseWithTouch;
-		
-		bool ignoreOffScreenTouch;
+		bool simulateMouseWithTouch;		
+		bool ignoreOffScreenTouch;	
 		
 		void clearInput();
 		

+ 2 - 0
Core/Contents/Include/PolyTweenManager.h

@@ -35,8 +35,10 @@ namespace Polycode {
 			~TweenManager();
 			void addTween(Tween *tween);
 			void Update(Number elapsed);
+			void removeTween(Tween *tween);
 		
 		private:
+					
 			std::vector<Tween*> tweensToAdd;
 			std::vector <Tween*> tweens;
 			

+ 10 - 3
Core/Contents/Source/PolyCoreInput.cpp

@@ -167,7 +167,7 @@ namespace Polycode {
 			dispatchEvent(evt, InputEvent::EVENT_MOUSEUP);
 		mouseButtons[mouseButton] = state;
 				
-		if(simulateTouchWithMouse && mouseButton == MOUSE_BUTTON1) {
+		if(simulateTouchWithMouse) {
 			TouchInfo touch;
 			touch.position = mousePosition;
 			touch.id = 0;			
@@ -198,13 +198,20 @@ namespace Polycode {
 		InputEvent *evt = new InputEvent(mousePosition, ticks);
 		dispatchEvent(evt, InputEvent::EVENT_MOUSEMOVE);
 		
-		if(simulateTouchWithMouse && mouseButtons[MOUSE_BUTTON1]) {
+		if(simulateTouchWithMouse) {
+		
+		
+		
 			TouchInfo touch;
 			touch.position = mousePosition;
 			touch.id = 0;			
 			std::vector<TouchInfo> touches;
 			touches.push_back(touch);
-			
+
+			if(!mouseButtons[MOUSE_BUTTON1]) {
+				mouseButtons[MOUSE_BUTTON1] = true;
+				touchesBegan(touch, touches, ticks);
+			}										
 			touchesMoved(touch, touches, ticks);
 		}		
 	}

+ 2 - 2
Core/Contents/Source/PolyPeer.cpp

@@ -116,12 +116,12 @@ void Peer::sendReliableData(const Address &target, char *data, unsigned int size
 		connection->reliableID = 1;
 
 	sendPacket(target, packet);	
-	
+	/*
 	SentPacketEntry entry;
 	entry.packet = packet;
 	entry.timestamp = CoreServices::getInstance()->getCore()->getTicks();
 	connection->reliablePacketQueue.push_back(entry);
-
+*/
 }
 
 void Peer::sendDataToAll(char *data, unsigned int size, unsigned short type) {

+ 11 - 1
Core/Contents/Source/PolyTweenManager.cpp

@@ -37,7 +37,17 @@ void TweenManager::addTween(Tween *tween) {
 	tweensToAdd.push_back(tween);
 }
 
+void TweenManager::removeTween(Tween *tween) {
+	for(int i=0; i < tweens.size(); i++) {
+		if(tweens[i] == tween) {
+			tweens.erase(tweens.begin()+i);
+			return;
+		}
+	}
+}
+
 void TweenManager::Update(Number elapsed) {
+
 	std::vector<Tween*>::iterator iter = tweens.begin();
 	while (iter != tweens.end()) {	
 		bool mustRemove = false;
@@ -48,7 +58,7 @@ void TweenManager::Update(Number elapsed) {
 			if((*iter)->repeat) {
 				(*iter)->Reset();
 			} else {
-				mustRemove = true;
+				mustRemove = true;							
 				(*iter)->doOnComplete();
 				
 				if((*iter)->deleteOnComplete) {