animation handling, screens, vp changes
This commit is contained in:
11
engine/screens/character.go
Normal file
11
engine/screens/character.go
Normal file
@ -0,0 +1,11 @@
|
||||
package screens
|
||||
|
||||
type CharacterScreen struct {
|
||||
|
||||
}
|
||||
|
||||
func (ts *CharacterScreen) UseEcs() bool {return false}
|
||||
func (ts *CharacterScreen) Enter() {}
|
||||
func (ts *CharacterScreen) HandleInput(input string) {}
|
||||
func (ts *CharacterScreen) Exit() {}
|
||||
func (ts *CharacterScreen) Render() {}
|
60
engine/screens/game.go
Normal file
60
engine/screens/game.go
Normal file
@ -0,0 +1,60 @@
|
||||
package screens
|
||||
|
||||
import (
|
||||
"lab.zaar.be/thefish/alchemyst-go/engine/types"
|
||||
"lab.zaar.be/thefish/alchemyst-go/ui/mainwindow"
|
||||
)
|
||||
|
||||
type GameScreen struct {
|
||||
mw *mainwindow.MainWindow
|
||||
state *types.GameState
|
||||
vp *mainwindow.ViewPort
|
||||
}
|
||||
|
||||
func NewGameScreen(mw *mainwindow.MainWindow, state *types.GameState, viewPort *mainwindow.ViewPort) *GameScreen {
|
||||
return &GameScreen{mw: mw, state: state, vp: viewPort}
|
||||
}
|
||||
|
||||
func (ts *GameScreen) UseEcs() bool { return true }
|
||||
func (ts *GameScreen) Enter() {}
|
||||
func (ts *GameScreen) HandleInput(input string) {
|
||||
//ts.state.Do(func(){
|
||||
switch input {
|
||||
case "Up", "k", "8":
|
||||
ts.state.Player.Walk(0, -1)
|
||||
break
|
||||
case "Down", "j", "2":
|
||||
ts.state.Player.Walk(0, 1)
|
||||
break
|
||||
case "Left", "h", "4":
|
||||
ts.state.Player.Walk(-1, 0)
|
||||
break
|
||||
case "Right", "l", "6":
|
||||
ts.state.Player.Walk(1, 0)
|
||||
break
|
||||
case "y", "7":
|
||||
ts.state.Player.Walk(-1, -1)
|
||||
break
|
||||
case "u", "9":
|
||||
ts.state.Player.Walk(1, -1)
|
||||
break
|
||||
case "b", "1":
|
||||
ts.state.Player.Walk(-1, 1)
|
||||
break
|
||||
case "n", "3":
|
||||
ts.state.Player.Walk(-1, 3)
|
||||
break
|
||||
|
||||
|
||||
default:
|
||||
ts.mw.GetLayer("base").ClearArea(0, 3, 40, 1)
|
||||
ts.mw.GetLayer("base").Print(1, 3, "Key: "+input)
|
||||
ts.mw.GetLayer("base").Print(1, 6, "█")
|
||||
|
||||
}
|
||||
//})
|
||||
}
|
||||
func (ts *GameScreen) Exit() {}
|
||||
func (ts *GameScreen) Render() {
|
||||
ts.vp.Render(ts.state)
|
||||
}
|
11
engine/screens/inventory.go
Normal file
11
engine/screens/inventory.go
Normal file
@ -0,0 +1,11 @@
|
||||
package screens
|
||||
|
||||
type InventoryScreen struct {
|
||||
|
||||
}
|
||||
|
||||
func (ts *InventoryScreen) UseEcs() bool {return true}
|
||||
func (ts *InventoryScreen) Enter() {}
|
||||
func (ts *InventoryScreen) HandleInput(input string) {}
|
||||
func (ts *InventoryScreen) Exit() {}
|
||||
func (ts *InventoryScreen) Render() {}
|
11
engine/screens/target.go
Normal file
11
engine/screens/target.go
Normal file
@ -0,0 +1,11 @@
|
||||
package screens
|
||||
|
||||
type TargetScreen struct {
|
||||
|
||||
}
|
||||
|
||||
func (ts *TargetScreen) UseEcs() bool {return true}
|
||||
func (ts *TargetScreen) Enter() {}
|
||||
func (ts *TargetScreen) HandleInput(input string) {}
|
||||
func (ts *TargetScreen) Exit() {}
|
||||
func (ts *TargetScreen) Render() {}
|
11
engine/screens/title.go
Normal file
11
engine/screens/title.go
Normal file
@ -0,0 +1,11 @@
|
||||
package screens
|
||||
|
||||
type TitleScreen struct {
|
||||
|
||||
}
|
||||
|
||||
func (ts *TitleScreen) UseEcs() bool {return false}
|
||||
func (ts *TitleScreen) Enter() {}
|
||||
func (ts *TitleScreen) HandleInput(input string) {}
|
||||
func (ts *TitleScreen) Exit() {}
|
||||
func (ts *TitleScreen) Render() {}
|
Reference in New Issue
Block a user