]> git.lizzy.rs Git - dragonblocks3d-lua.git/blob - modules/PlayerSystem/src/player.lua
Refactoring
[dragonblocks3d-lua.git] / modules / PlayerSystem / src / player.lua
1 local Player = {}
2
3 function Player:init()
4         Dragonblocks.create_event_interface(self)
5         self.pos = glm.vec3(0, 0, 0)
6 end
7
8 function Player:set_position(pos)
9         self:fire_event({
10                 type = "on_set_position",
11                 new_position = pos,
12                 cancel = false
13         }, function(evt) self:raw_set_position(evt) end)
14 end
15
16 function Player:raw_set_position(event)
17         local self = event.origin
18         if not event.cancel then
19                 self.pos = event.new_position
20         end
21         self:fire_event({
22                 type = "after_set_position",
23         })
24 end
25
26
27
28 return Player