Fix player camera bug
This commit is contained in:
		
							parent
							
								
									0d3e242188
								
							
						
					
					
						commit
						74a9ea4a5f
					
				| @ -553,7 +553,7 @@ public class LoadingThread extends Thread { | |||||||
|         Player Camera |         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; |         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){ |     public static Entity getOrbitalCameraTarget(Entity camera){ | ||||||
|         return (Entity)camera.getData(EntityDataStrings.DATA_STRING_CAMERA_ORBIT_TARGET); |         return (Entity)camera.getData(EntityDataStrings.DATA_STRING_CAMERA_ORBIT_TARGET); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -202,19 +202,14 @@ public class ServerConnectionHandler implements Runnable { | |||||||
|             case ENTITY_MESSAGE: |             case ENTITY_MESSAGE: | ||||||
|                 switch(((EntityMessage)message).getMessageSubtype()){ |                 switch(((EntityMessage)message).getMessageSubtype()){ | ||||||
|                     case MOVEUPDATE: |                     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 ATTACKUPDATE: | ||||||
|  |                     case SPAWNCREATURE: | ||||||
|                         if(((EntityMessage)message).getentityID()==playerCharacterID){ |                         if(((EntityMessage)message).getentityID()==playerCharacterID){ | ||||||
|                             //basically don't send the message if this is the player's character and it's a move update |                             //basically don't send the message if this is the player's character and it's a move update | ||||||
|                         } else { |                         } else { | ||||||
|                             networkParser.addOutgoingMessage(message); |                             networkParser.addOutgoingMessage(message); | ||||||
|                         } |                         } | ||||||
|                         break; |                     break; | ||||||
|                     default: |                     default: | ||||||
|                         networkParser.addOutgoingMessage(message); |                         networkParser.addOutgoingMessage(message); | ||||||
|                         break; |                         break; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user