From 06f4a4d33f7a75b86ad7bddfd98d348ed323c417 Mon Sep 17 00:00:00 2001 From: CPunch Date: Tue, 21 Nov 2023 01:36:23 -0600 Subject: [PATCH] minor chunk refactoring - rename GetChunk -> GetChunkPos - rename SetChunk -> SetChunkPos --- internal/entity/entity.go | 4 ++-- internal/entity/npc.go | 4 ++-- internal/entity/player.go | 4 ++-- shard/entitymanager.go | 18 +++++++++--------- shard/movement.go | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/internal/entity/entity.go b/internal/entity/entity.go index 00b2db0..4d3a78d 100644 --- a/internal/entity/entity.go +++ b/internal/entity/entity.go @@ -12,11 +12,11 @@ const ( type Entity interface { GetKind() EntityKind - GetChunk() ChunkPosition + GetChunkPos() ChunkPosition GetPosition() (x int, y int, z int) GetAngle() int - SetChunk(chunk ChunkPosition) + SetChunkPos(chunk ChunkPosition) SetPosition(x, y, z int) SetAngle(angle int) diff --git a/internal/entity/npc.go b/internal/entity/npc.go index 3de4725..0372c5b 100644 --- a/internal/entity/npc.go +++ b/internal/entity/npc.go @@ -36,7 +36,7 @@ func (npc *NPC) GetKind() EntityKind { return ENTITY_KIND_NPC } -func (npc *NPC) GetChunk() ChunkPosition { +func (npc *NPC) GetChunkPos() ChunkPosition { return npc.Chunk } @@ -48,7 +48,7 @@ func (npc *NPC) GetAngle() int { return npc.Angle } -func (npc *NPC) SetChunk(chunk ChunkPosition) { +func (npc *NPC) SetChunkPos(chunk ChunkPosition) { npc.Chunk = chunk } diff --git a/internal/entity/player.go b/internal/entity/player.go index fde5784..ed9f356 100644 --- a/internal/entity/player.go +++ b/internal/entity/player.go @@ -44,7 +44,7 @@ func (plr *Player) GetKind() EntityKind { return ENTITY_KIND_PLAYER } -func (plr *Player) GetChunk() ChunkPosition { +func (plr *Player) GetChunkPos() ChunkPosition { return plr.Chunk } @@ -56,7 +56,7 @@ func (plr *Player) GetAngle() int { return plr.Angle } -func (plr *Player) SetChunk(chunk ChunkPosition) { +func (plr *Player) SetChunkPos(chunk ChunkPosition) { plr.Chunk = chunk } diff --git a/shard/entitymanager.go b/shard/entitymanager.go index f4fe13c..58a4167 100644 --- a/shard/entitymanager.go +++ b/shard/entitymanager.go @@ -5,15 +5,15 @@ import ( ) func (server *ShardServer) addEntity(e entity.Entity) { - pos := e.GetChunk() - server.addEntityToChunks(server.getViewableChunks(pos), e) + pos := e.GetChunkPos() + server.addEntityToChunks(e, server.getViewableChunks(pos)) server.getChunk(pos).AddEntity(e) } func (server *ShardServer) removeEntity(e entity.Entity) { // TODO: chunk cleanup - pos := e.GetChunk() - server.removeEntityFromChunks(server.getViewableChunks(pos), e) + pos := e.GetChunkPos() + server.removeEntityFromChunks(e, server.getViewableChunks(pos)) server.getChunk(pos).RemoveEntity(e) } @@ -56,7 +56,7 @@ func (server *ShardServer) sendAllPacket(plr *entity.Player, typeID uint32, pkt return nil } -func (server *ShardServer) removeEntityFromChunks(chunks []*entity.Chunk, this entity.Entity) { +func (server *ShardServer) removeEntityFromChunks(this entity.Entity, chunks []*entity.Chunk) { for _, chunk := range chunks { for e := range chunk.Entities { if e == this { @@ -78,7 +78,7 @@ func (server *ShardServer) removeEntityFromChunks(chunks []*entity.Chunk, this e } } -func (server *ShardServer) addEntityToChunks(chunks []*entity.Chunk, this entity.Entity) { +func (server *ShardServer) addEntityToChunks(this entity.Entity, chunks []*entity.Chunk) { for _, chunk := range chunks { for e := range chunk.Entities { if e == this { @@ -114,9 +114,9 @@ func (server *ShardServer) updateEntityChunk(e entity.Entity, from entity.ChunkP toEnter := entity.ChunkSliceDifference(newViewables, oldViewables) // update chunks - server.removeEntityFromChunks(toExit, e) - server.addEntityToChunks(toEnter, e) + server.removeEntityFromChunks(e, toExit) + server.addEntityToChunks(e, toEnter) server.getChunk(from).RemoveEntity(e) server.getChunk(to).AddEntity(e) - e.SetChunk(to) + e.SetChunkPos(to) } diff --git a/shard/movement.go b/shard/movement.go index 7d95c64..a395983 100644 --- a/shard/movement.go +++ b/shard/movement.go @@ -10,7 +10,7 @@ func (server *ShardServer) updatePlayerPosition(plr *entity.Player, X, Y, Z, Ang plr.Y = Y plr.Z = Z plr.Angle = Angle - server.updateEntityChunk(plr, plr.GetChunk(), entity.MakeChunkPosition(X, Y)) + server.updateEntityChunk(plr, plr.GetChunkPos(), entity.MakeChunkPosition(X, Y)) } func (server *ShardServer) playerMove(peer *protocol.CNPeer, pkt protocol.Packet) error {