ui starting, menu screen, ingame help
This commit is contained in:
@ -14,18 +14,24 @@ type GameScreen struct {
|
||||
state *gamestate.GameState
|
||||
vp *mainwindow.ViewPort
|
||||
controller *ecs.Controller
|
||||
scm *types.ScreenManager
|
||||
}
|
||||
|
||||
func NewGameScreen(mw *mainwindow.MainWindow, state *gamestate.GameState, viewPort *mainwindow.ViewPort, controller *ecs.Controller) *GameScreen {
|
||||
return &GameScreen{mw: mw, state: state, vp: viewPort, controller: controller}
|
||||
func NewGameScreen(mw *mainwindow.MainWindow, state *gamestate.GameState, viewPort *mainwindow.ViewPort, controller *ecs.Controller, scm *types.ScreenManager) *GameScreen {
|
||||
ts := &GameScreen{mw: mw, state: state, vp: viewPort, controller: controller, scm: scm}
|
||||
renderMobs := systems.MobRenderSystem{EntityController: ts.controller}
|
||||
ts.controller.AddSystem(renderMobs, 1)
|
||||
return ts
|
||||
}
|
||||
|
||||
func (ts *GameScreen) UseEcs() bool { return true }
|
||||
func (ts *GameScreen) Enter() {
|
||||
renderMobs := systems.MobRenderSystem{EntityController: ts.controller}
|
||||
ts.controller.AddSystem(renderMobs, 1)
|
||||
ts.mw.GetLayer("overlay").ClearArea(0, ts.mw.H - 3, 30, 3)
|
||||
ts.mw.GetLayer("overlay").WithColor("#77777777").
|
||||
Print(1, ts.mw.H - 2, "Press [color=white]?[/color] for help")
|
||||
}
|
||||
func (ts *GameScreen) Exit() {
|
||||
ts.mw.GetLayer("base").ClearArea(1, ts.mw.H -2, 30, 1)
|
||||
//remove what we dont need
|
||||
}
|
||||
|
||||
@ -56,6 +62,9 @@ func (ts *GameScreen) HandleInput(input string) {
|
||||
case "n", "3":
|
||||
ts.walk(ts.state, 1, 1)
|
||||
break
|
||||
case "Shift+/":
|
||||
ts.scm.SetScreenByName("help")
|
||||
break
|
||||
default:
|
||||
ts.mw.GetLayer("base").ClearArea(0, 3, 40, 1)
|
||||
ts.mw.GetLayer("base").Print(1, 3, "Key: "+input)
|
||||
|
Reference in New Issue
Block a user