Fix player camera bug
This commit is contained in:
		
							parent
							
								
									0d3e242188
								
							
						
					
					
						commit
						74a9ea4a5f
					
				| @ -553,7 +553,7 @@ public class LoadingThread extends Thread { | ||||
|         Player Camera | ||||
|          | ||||
|         */ | ||||
|         Globals.playerCamera = CameraEntityUtils.spawnEntityTrackingCameraEntity(new Vector3f(1,0,1), new Vector3f(0,0,0), Globals.playerEntity); | ||||
|         Globals.playerCamera = CameraEntityUtils.spawnPlayerEntityTrackingCameraEntity(new Vector3f(1,0,1), new Vector3f(0,0,0)); | ||||
|          | ||||
|          | ||||
|          | ||||
|  | ||||
| @ -53,6 +53,29 @@ public class CameraEntityUtils { | ||||
|         return rVal; | ||||
|     } | ||||
| 
 | ||||
|     public static Entity spawnPlayerEntityTrackingCameraEntity(Vector3f center, Vector3f eye){ | ||||
|         Entity rVal = new Entity(); | ||||
|         Globals.entityManager.registerEntity(rVal); | ||||
|         rVal.putData(EntityDataStrings.DATA_STRING_CAMERA_TYPE, EntityDataStrings.DATA_STRING_CAMERA_TYPE_ORBIT); | ||||
|         rVal.putData(EntityDataStrings.DATA_STRING_CAMERA_CENTER, center); | ||||
|         rVal.putData(EntityDataStrings.DATA_STRING_CAMERA_EYE, eye); | ||||
|         rVal.putData(EntityDataStrings.DATA_STRING_CAMERA_ORBIT_DISTANCE, 1.0f); | ||||
|         rVal.putData(EntityDataStrings.CAMERA_ORBIT_RADIAL_OFFSET, new Vector3f(0,1,0)); | ||||
|         rVal.putData(EntityDataStrings.CAMERA_PITCH, 0.0f); | ||||
|         rVal.putData(EntityDataStrings.CAMERA_YAW, 0.0f); | ||||
|         BehaviorTree entityTrackingTree = new BehaviorTree() { | ||||
|             @Override | ||||
|             public void simulate() { | ||||
|                 if(Globals.playerEntity != null){ | ||||
|                     Vector3d entityPos = EntityUtils.getPosition(Globals.playerEntity); | ||||
|                     CameraEntityUtils.setCameraCenter(rVal, new Vector3f((float)entityPos.x,(float)entityPos.y,(float)entityPos.z).add(getOrbitalCameraRadialOffset(rVal))); | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|         Globals.entityManager.registerBehaviorTree(entityTrackingTree); | ||||
|         return rVal; | ||||
|     } | ||||
|      | ||||
|     public static Entity getOrbitalCameraTarget(Entity camera){ | ||||
|         return (Entity)camera.getData(EntityDataStrings.DATA_STRING_CAMERA_ORBIT_TARGET); | ||||
|     } | ||||
|  | ||||
| @ -202,19 +202,14 @@ public class ServerConnectionHandler implements Runnable { | ||||
|             case ENTITY_MESSAGE: | ||||
|                 switch(((EntityMessage)message).getMessageSubtype()){ | ||||
|                     case MOVEUPDATE: | ||||
|                         if(((EntityMessage)message).getentityID()==playerCharacterID){ | ||||
|                             //basically don't send the message if this is the player's character and it's a move update | ||||
|                         } else { | ||||
|                             networkParser.addOutgoingMessage(message); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ATTACKUPDATE: | ||||
|                     case SPAWNCREATURE: | ||||
|                         if(((EntityMessage)message).getentityID()==playerCharacterID){ | ||||
|                             //basically don't send the message if this is the player's character and it's a move update | ||||
|                         } else { | ||||
|                             networkParser.addOutgoingMessage(message); | ||||
|                         } | ||||
|                         break; | ||||
|                     break; | ||||
|                     default: | ||||
|                         networkParser.addOutgoingMessage(message); | ||||
|                         break; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user