From 4d1426a46693688b0b4d3110a6c0b190e0d8bf07 Mon Sep 17 00:00:00 2001 From: NatureFreshMilk <naturefreshmilk@github.com> Date: Wed, 23 Jan 2019 13:41:26 +0100 Subject: [PATCH] mapobject setup --- server/mapobject/clearmapdata.go | 17 ----------------- server/mapobject/poi.go | 18 +----------------- server/mapobject/setup.go | 23 ++++++++++++++++++++--- 3 files changed, 21 insertions(+), 37 deletions(-) delete mode 100644 server/mapobject/clearmapdata.go diff --git a/server/mapobject/clearmapdata.go b/server/mapobject/clearmapdata.go deleted file mode 100644 index 34d0879..0000000 --- a/server/mapobject/clearmapdata.go +++ /dev/null @@ -1,17 +0,0 @@ -package mapobject - -import ( - "mapserver/mapblockparser" - "mapserver/mapobjectdb" -) - -type ClearMapData struct { - db mapobjectdb.DBAccessor -} - -func (this *ClearMapData) OnParsedMapBlock(block *mapblockparser.MapBlock) { - err := this.db.RemoveMapData(block.Pos) - if err != nil { - panic(err) - } -} diff --git a/server/mapobject/poi.go b/server/mapobject/poi.go index 172d229..031aeaf 100644 --- a/server/mapobject/poi.go +++ b/server/mapobject/poi.go @@ -5,22 +5,6 @@ import ( "mapserver/mapobjectdb" ) -type POI struct { - db mapobjectdb.DBAccessor -} - -func (this *POI) OnParsedMapBlock(block *mapblockparser.MapBlock) { - var found bool - for _, v := range block.BlockMapping { - if v == "mapserver:poi" { - found = true - break - } - } - - if !found { - return - } - +func onPoiBlock(id int, block *mapblockparser.MapBlock, odb mapobjectdb.DBAccessor) { panic("OK") //XXX } diff --git a/server/mapobject/setup.go b/server/mapobject/setup.go index e7d8ae5..a272dd2 100644 --- a/server/mapobject/setup.go +++ b/server/mapobject/setup.go @@ -2,9 +2,26 @@ package mapobject import ( "mapserver/app" + "mapserver/mapblockparser" ) -func Setup(ctx *app.App) { - ctx.BlockAccessor.AddListener(&ClearMapData{db: ctx.Objectdb}) - ctx.BlockAccessor.AddListener(&POI{db: ctx.Objectdb}) +type Listener struct { + ctx *app.App +} + +func (this *Listener) OnParsedMapBlock(block *mapblockparser.MapBlock) { + err := this.ctx.Objectdb.RemoveMapData(block.Pos) + if err != nil { + panic(err) + } + + for id, name := range block.BlockMapping { + if name == "mapserver:poi" { + onPoiBlock(id, block, this.ctx.Objectdb) + } + } +} + +func Setup(ctx *app.App) { + ctx.BlockAccessor.AddListener(&Listener{ctx: ctx}) }