| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package mapAOI
- import (
- "f1-game/nodes/map/internal/db"
- cfacade "github.com/cherry-game/cherry/facade"
- )
- func Init(app cfacade.IApplication, mapTables *db.LogicTables) {
- actor := &actor{}
- app.ActorSystem().CreateActor(actor.AliasID(), actor)
- actor.initChild(mapTables)
- }
- func (p *actor) initChild(mapTables *db.LogicTables) {
- var (
- actorAOIBuild = newActorAOIBuild()
- actorAOICastle = newActorAOICastle()
- actorAOIMarch = newActorAOIMarch()
- actorAOIMonster = newActorAOIMonster()
- actorAOIRes = newActorAOIRes()
- actorAOILegion = newActorAOILegion()
- )
- for _, buildTable := range mapTables.BuildTables {
- if !buildTable.IsHide {
- marker := buildTable.ToAOIMarker()
- actorAOIBuild.enter(marker)
- }
- }
- for _, castleTable := range mapTables.CastleTables {
- marker := castleTable.ToAOIMarker()
- actorAOICastle.enter(marker)
- }
- for _, marchTable := range mapTables.MarchTables {
- if marchTable.IsInMap() {
- marker := marchTable.ToAOIMarker()
- actorAOIMarch.enter(marker)
- }
- }
- for _, monsterTable := range mapTables.MonsterTables {
- if monsterTable.IsAlive {
- marker := monsterTable.ToAOIMarker()
- actorAOIMonster.enter(marker)
- }
- }
- for _, resTable := range mapTables.ResTables {
- marker := resTable.ToAOIMarker()
- actorAOIRes.enter(marker)
- }
- for _, legionTable := range mapTables.LegionTables {
- marker := legionTable.ToAOIMarker()
- actorAOILegion.enter(marker)
- }
- // 创建 AOI actor
- p.Child().Create(actorAOIBuild.AliasID(), actorAOIBuild)
- p.Child().Create(actorAOICastle.AliasID(), actorAOICastle)
- p.Child().Create(actorAOIMarch.AliasID(), actorAOIMarch)
- p.Child().Create(actorAOIMonster.AliasID(), actorAOIMonster)
- p.Child().Create(actorAOIRes.AliasID(), actorAOIRes)
- p.Child().Create(actorAOILegion.AliasID(), actorAOILegion)
- // 打开日志
- actorAOIBuild.setPrintLog(true)
- actorAOICastle.setPrintLog(true)
- actorAOIMarch.setPrintLog(true)
- actorAOIMonster.setPrintLog(true)
- actorAOIRes.setPrintLog(true)
- actorAOILegion.setPrintLog(true)
- }
|