Implementing deleting objects.

This commit is contained in:
Andrey Parhomenko 2023-04-28 18:21:34 +03:00
parent dd704c9820
commit 1e2e43ad2b
2 changed files with 17 additions and 0 deletions

View file

@ -94,6 +94,8 @@ func (p *Player) Update(e *gx.Engine) error {
c.Object.T.RA.Y += gx.Pi * p.MoveSpeed * dt c.Object.T.RA.Y += gx.Pi * p.MoveSpeed * dt
} }
log.Println(c.Object.T.RA.Y) log.Println(c.Object.T.RA.Y)
case ebiten.Key0 :
e.Del(p)
}} }}
return nil return nil

View file

@ -77,6 +77,21 @@ func (e *Engine) Add(l Layer, b any) {
} }
} }
func (e *Engine) Del(b any) {
drawer, ok := b.(Drawer)
if ok {
for layer := range e.layers.Vals() {
layer.V.Del(drawer)
}
}
behaver, ok := b.(Behaver)
if ok {
e.behavers.Del(behaver)
}
}
func (e *Engine) AddDrawer(l Layer, d Drawer) { func (e *Engine) AddDrawer(l Layer, d Drawer) {
g, ok := e.layers.Get(l) g, ok := e.layers.Get(l)
if !ok { if !ok {