mouse event dont reallocate every frame
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2025-06-08 19:29:21 -04:00
parent 0ce647635c
commit cacb20cf49
3 changed files with 9 additions and 3 deletions

View File

@ -2137,6 +2137,7 @@ Fix many places where entity position being set on vector fetched from getPositi
- Fixed skybox placement update
Undo getPosition new alloc to lower memory footprint
Work to reduce allocations
Prevent mouse event re-allocation every frame

View File

@ -86,6 +86,11 @@ public class ControlHandler {
*/
boolean cameraIsThirdPerson = false;
/**
* Private mouse event to prevent re-allocating
*/
private MouseEvent mouseEvent = new MouseEvent();
/**
* The list of window strings that would block main game controls
*/
@ -245,7 +250,7 @@ public class ControlHandler {
this.mouseState.setDeltaY(this.mouseState.getLastY() - this.mouseState.getCurrentY());
float xoffset = (float) (this.mouseState.getCurrentX() - this.mouseState.getLastX());
float yoffset = (float) (this.mouseState.getLastY() - this.mouseState.getCurrentY());
MouseEvent currentMouseEvent = new MouseEvent(
this.mouseEvent.set(
(int)this.mouseState.getCurrentX(),
(int)this.mouseState.getCurrentY(),
(int)this.mouseState.getLastX(),
@ -311,7 +316,7 @@ public class ControlHandler {
} break;
case MOUSE_MOVEMENT: {
if(mouseMoveEvent){
control.onMove(this.mouseState,currentMouseEvent);
control.onMove(this.mouseState,this.mouseEvent);
}
} break;
case MOUSE_SCROLL: {

View File

@ -11,7 +11,7 @@ public class MouseEvent implements Event {
boolean button1;
boolean button2;
public MouseEvent(int currentX,int currentY,int previousX,int previousY,int deltaX,int deltaY,boolean button1,boolean button2){
public void set(int currentX,int currentY,int previousX,int previousY,int deltaX,int deltaY,boolean button1,boolean button2){
this.currentX = currentX;
this.currentY = currentY;
this.previousX = previousX;