Fix terminal taking input when not visible, fix timescale command (#294)

This commit is contained in:
Alex Yatskov 2020-02-02 18:26:08 -08:00 committed by GitHub
parent 0c618bd31b
commit a04d2389c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 9 deletions

View File

@ -130,15 +130,12 @@ func (t *terminal) advance(elapsed float64) error {
}
func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
maxOutputIndex := d2common.MaxInt(0, len(t.outputHistory)-t.lineCount)
if t.visState == termVisHiding || t.visState == termVisHidden && event.Key == d2input.KeyGraveAccent {
t.show()
return true
}
if t.visState == termVisHiding || t.visState == termVisHidden {
if event.Key == d2input.KeyGraveAccent {
t.show()
return true
}
// When terminal is not visible, only d2input.KeyGraveAccent is consumed.
if !t.isVisible() {
return false
}
@ -152,6 +149,8 @@ func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
return true
}
maxOutputIndex := d2common.MaxInt(0, len(t.outputHistory)-t.lineCount)
if event.Key == d2input.KeyHome {
t.outputIndex = maxOutputIndex
return true
@ -224,11 +223,14 @@ func (t *terminal) OnKeyDown(event d2input.KeyEvent) bool {
return true
}
// When terminal is visible, all keys are consumed.
return true
}
func (t *terminal) OnKeyChars(event d2input.KeyCharsEvent) bool {
if !t.isVisible() {
return false
}
var handled bool
for _, c := range event.Chars {
if c != '`' {

View File

@ -54,6 +54,7 @@ func Initialize(loadingSpr *d2ui.Sprite) error {
if timeScale <= 0 {
d2term.OutputError("invalid time scale value")
} else {
singleton.timeScale = timeScale
d2term.OutputInfo("timescale changed from %f to %f", singleton.timeScale, timeScale)
}
})