summaryrefslogtreecommitdiff
path: root/engine/Components/World.go
diff options
context:
space:
mode:
authorPhyscik <mynameisgennadiy@vk.com>2026-01-12 00:41:09 +0500
committerPhyscik <mynameisgennadiy@vk.com>2026-01-12 00:41:09 +0500
commit2cf8b5cad01cb67b71d51834ca8d048cfddd69e6 (patch)
tree409ba57e7a372b9834cd89048427019b991ea78c /engine/Components/World.go
parent4c614ef14ebf4c3cd16c1e96283dc3763b9b0d0a (diff)
Character creation start
Diffstat (limited to 'engine/Components/World.go')
-rw-r--r--engine/Components/World.go31
1 files changed, 9 insertions, 22 deletions
diff --git a/engine/Components/World.go b/engine/Components/World.go
index 0605703..7e6e8e3 100644
--- a/engine/Components/World.go
+++ b/engine/Components/World.go
@@ -11,6 +11,8 @@ type World struct {
Name string
Floor []FloorTile
+ Player *Player
+
Camera *rl.Camera2D
}
@@ -22,30 +24,14 @@ func (base *World) Destroy() {
}
func (base *World) Update() {
- base.handleFreecam()
+ base.Player.Update()
+ base.Player.SnapCamera(base.Camera)
+ base.handleZoom()
}
-func (base *World) handleFreecam() {
- var speed = 150 * rl.GetFrameTime()
- var zoomSpeed = 0.2 * rl.GetFrameTime()
- if rl.IsKeyDown(rl.KeyW) {
- base.Camera.Target.Y -= speed
- }
- if rl.IsKeyDown(rl.KeyS) {
- base.Camera.Target.Y += speed
- }
- if rl.IsKeyDown(rl.KeyA) {
- base.Camera.Target.X -= speed
- }
- if rl.IsKeyDown(rl.KeyD) {
- base.Camera.Target.X += speed
- }
- if rl.IsKeyDown(rl.KeyEqual) {
- base.Camera.Zoom += zoomSpeed
- }
- if rl.IsKeyDown(rl.KeyMinus) {
- base.Camera.Zoom -= zoomSpeed
- }
+func (base *World) handleZoom() {
+ var zoomSpeed = 50 * rl.GetFrameTime()
+ base.Camera.Zoom += zoomSpeed * rl.GetMouseWheelMove()
}
func (base *World) Draw() {
@@ -54,6 +40,7 @@ func (base *World) Draw() {
for _, v := range base.Floor {
v.Draw()
}
+ base.Player.Draw()
}
// The single texture drawn at level 0 of the world