From b3a8ef8c0f86f2bd6db4b6655cbc1c7ab473f287 Mon Sep 17 00:00:00 2001 From: iegod Date: Thu, 21 Nov 2024 16:35:36 -0500 Subject: [PATCH] Housekeeping. --- gameelement/canvas.go | 10 +++++++--- weapons/holster.go | 7 +++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gameelement/canvas.go b/gameelement/canvas.go index 2ba4b6e..ee9c852 100644 --- a/gameelement/canvas.go +++ b/gameelement/canvas.go @@ -223,6 +223,9 @@ func (c *Canvas) Initialize() { //temporary c.hero.Action = elements.HeroActionDefault + + c.holster.SetActiveWeapon(gamedata.WeaponTypeGun) + c.laser.SetFiring(false) } func (c *Canvas) UpdateHero() { @@ -360,12 +363,13 @@ func (c *Canvas) UpdateProjectiles() { func (c *Canvas) UpdateLaser() { c.laser.Update() + + c.laser.SetFiring(c.lastInputs.Shot) + if c.lastInputs.Shot { c.laser.SetPosition(c.hero.Pos) c.laser.SetAngle(c.lastInputs.ShotAngle) - } - c.laser.SetFiring(c.lastInputs.Shot) - if c.lastInputs.Shot { + c.laserMask.Clear() lpos := c.laser.GetPosition() op := &ebiten.DrawImageOptions{} diff --git a/weapons/holster.go b/weapons/holster.go index ccd56dc..120965b 100644 --- a/weapons/holster.go +++ b/weapons/holster.go @@ -17,6 +17,13 @@ func NewHolster() *Holster { return holster } +func (h *Holster) SetActiveWeapon(wt gamedata.WeaponType) { + _, ok := h.guns[wt] + if ok { + h.activewp = wt + } +} + func (h *Holster) GetActiveWeapon() Weapon { return h.guns[h.activewp] }