refactor level, getting to tiles
This commit is contained in:
@ -9,16 +9,32 @@ import (
|
||||
|
||||
type MainWindow struct {
|
||||
ctx util.ClientCtx
|
||||
layers []types.Renderable
|
||||
layers map[string]types.Renderable
|
||||
}
|
||||
|
||||
func Init(ctx util.ClientCtx) *MainWindow {
|
||||
ctx.Logger().Info().Msgf("Opening main window...")
|
||||
mw := MainWindow{ctx: ctx}
|
||||
mw := MainWindow{ctx: ctx, layers: make(map[string]types.Renderable, 0)}
|
||||
mw.Open()
|
||||
return &mw
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (mw *MainWindow) AddLayer(name string, idx int, colorName string) *MainWindow {
|
||||
c := blt.ColorFromName(colorName)
|
||||
mw.layers[name] = &Layer{idx: idx, defaultColor: c}
|
||||
return mw
|
||||
}
|
||||
|
||||
func (mw *MainWindow) GetLayer(name string) *Layer {
|
||||
if layer, ok := mw.layers[name]; ok {
|
||||
return layer.(*Layer)
|
||||
}
|
||||
mw.ctx.Logger().Fatal().Msgf("No layer with such name %s", name)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mw *MainWindow) Open() {
|
||||
config := mw.ctx.Config()
|
||||
blt.Open()
|
||||
@ -46,8 +62,4 @@ func (mw *MainWindow) Render() {
|
||||
for _, l := range mw.layers {
|
||||
l.Render()
|
||||
}
|
||||
}
|
||||
|
||||
func (mw *MainWindow) AddLayer(li types.Renderable) {
|
||||
mw.layers = append(mw.layers, li)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user