Camera now properly moving with player again.

WorldChunkRefactoring
Martin Felis 2023-02-12 16:55:30 +01:00
parent 70724899ad
commit 48f7081134
1 changed files with 10 additions and 2 deletions

View File

@ -25,6 +25,7 @@ public class Game : Spatial
private Player _player; private Player _player;
private Chest _chest; private Chest _chest;
private TileWorld _tileWorld; private TileWorld _tileWorld;
private Camera _camera;
// Resources // Resources
private PackedScene _tileHighlightScene; private PackedScene _tileHighlightScene;
@ -34,6 +35,7 @@ public class Game : Spatial
private HexCell _lastTile; private HexCell _lastTile;
private HexCell _currentTile; private HexCell _currentTile;
private Vector2 _currentTileOffset; private Vector2 _currentTileOffset;
private Vector3 _cameraOffset;
// Called when the node enters the scene tree for the first time. // Called when the node enters the scene tree for the first time.
public override void _Ready() public override void _Ready()
@ -58,7 +60,9 @@ public class Game : Spatial
_player = GetNode<Player>("Player"); _player = GetNode<Player>("Player");
_chest = GetNode<Chest>("Entities/Chest"); _chest = GetNode<Chest>("Entities/Chest");
_tileWorld = GetNode<TileWorld>("TileWorld"); _tileWorld = GetNode<TileWorld>("TileWorld");
_camera = GetNode<Camera>("Camera");
_cameraOffset = _camera.GlobalTranslation - _player.GlobalTranslation;
Debug.Assert(_tileWorld != null); Debug.Assert(_tileWorld != null);
// resources // resources
@ -135,6 +139,7 @@ public class Game : Spatial
} }
public override void _Process(float delta) public override void _Process(float delta)
{ {
_framesPerSecondLabel.Text = Engine.GetFramesPerSecond().ToString(); _framesPerSecondLabel.Text = Engine.GetFramesPerSecond().ToString();
@ -156,8 +161,11 @@ public class Game : Spatial
_numCoordsAddedLabel.Text = _streamContainer.AddedCoords.Count.ToString(); _numCoordsAddedLabel.Text = _streamContainer.AddedCoords.Count.ToString();
_numCoordsRemovedLabel.Text = _streamContainer.RemovedCoords.Count.ToString(); _numCoordsRemovedLabel.Text = _streamContainer.RemovedCoords.Count.ToString();
} }
}
Transform cameraTransform = _camera.Transform;
cameraTransform.origin = _player.GlobalTranslation + _cameraOffset;
_camera.Transform = cameraTransform;
}
public void OnAreaInputEvent(Node camera, InputEvent inputEvent, Vector3 position, Vector3 normal, public void OnAreaInputEvent(Node camera, InputEvent inputEvent, Vector3 position, Vector3 normal,
int shapeIndex) int shapeIndex)