Link various screens accessible from the bridge

This kind of linking is starting to creak...
This commit is contained in:
2020-03-27 02:07:28 +00:00
parent 316db89148
commit c090fd32e9
8 changed files with 133 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"image"
"log"
"runtime/debug"
"strconv"
"github.com/hajimehoshi/ebiten"
@@ -24,14 +25,10 @@ func init() {
registerBuilder(menus.TypeLineKbd, registerDebug("Unimplemented LineKbd", nil))
registerBuilder(menus.TypeDialogue, registerDebug("Unimplemented Dialogue", nil))
// Needed for Arrange.mnu (???)
registerBuilder(menus.TypeSquadButton, registerDebug("Unimplemented SquadButton", nil))
// Needed for Briefing.mnu
registerBuilder(menus.TypeLineBriefing, registerDebug("Unimplemented LineBriefing", nil))
// Needed for ChaEquip.mnu
registerBuilder(menus.TypeUnknown1, registerDebug("Unimplemented Unknown1", nil))
registerBuilder(menus.TypeThumb, registerDebug("Unimplemented Thumb", nil))
// Needed for MainGameChaos.mnu
@@ -226,6 +223,11 @@ func (d *Driver) SetValueInt(id string, value int) error {
}
func (d *Driver) Update(screenX, screenY int) error {
if d == nil {
debug.PrintStack()
return fmt.Errorf("Tried to update a nil ui.Driver")
}
// This will be updated while processing hovers
d.tooltip = ""
d.ticks += 1
@@ -274,6 +276,11 @@ func (d *Driver) Update(screenX, screenY int) error {
}
func (d *Driver) Draw(screen *ebiten.Image) error {
if d == nil {
debug.PrintStack()
return fmt.Errorf("Tried to draw a nil ui.Driver")
}
var do ebiten.DrawImageOptions
for _, paint := range d.paintables {