12345678910111213141516 |
- {
- "code": "import { GlobalVariable } from \"../game_module/GlobalVariable\";\r\nimport LevelController from \"../GameLogic/LevelController\";\r\nimport Game_Tool from \"../Util/Game_Tool\";\r\nimport TowerController from \"./TowerController\";\r\nimport { PoolManager } from \"../GameLogic/PoolManager\";\r\nimport { Block } from \"../GameLogic/Block\";\r\nimport Dictionary from \"../Util/Dictionary\";\r\nimport { EffectController } from \"../GameLogic/EffectController\";\r\nimport { CfgManager } from \"../GameLogic/CfgManager\";\r\nexport class RoadArr {\r\n constructor(blocks, blockPos) {\r\n this.blocks = blocks;\r\n this.blockPos = blockPos;\r\n }\r\n}\r\nexport class BlockArr {\r\n constructor(things, thingPos, blockHp) {\r\n this.things = things;\r\n this.thingPos = thingPos;\r\n this.blockHp = blockHp;\r\n }\r\n}\r\nexport class ThingArr {\r\n constructor(type, prrfabName, moveType, moveSpeed) {\r\n this.type = type;\r\n this.prrfabName = prrfabName;\r\n this.moveType = moveType;\r\n this.moveSpeed = moveSpeed;\r\n }\r\n}\r\nexport default class BlockController {\r\n constructor() {\r\n this.isover = false;\r\n this.curindex = 1;\r\n this.blockDic = new Dictionary();\r\n this.cubeBlockDic = new Dictionary();\r\n }\r\n static get Instance() {\r\n return BlockController.instance || (BlockController.instance = new BlockController());\r\n }\r\n Init(BlockContainer) {\r\n this.BlockContainer = BlockContainer;\r\n }\r\n SetBlock() {\r\n this.isover = false;\r\n this.curindex = 1;\r\n this.CreateBlock();\r\n }\r\n CreateBlock() {\r\n let road_list = LevelController.Instance._level.road_list;\r\n if (this.curindex > road_list.length - 1) {\r\n this.isover = true;\r\n console.log(\"没有障碍物了\");\r\n return;\r\n }\r\n this.tarDis =\r\n this.curindex * GlobalVariable.barrierRoadLength;\r\n let roadindex = road_list[this.curindex];\r\n if (roadindex == 0)\r\n return;\r\n let roads = CfgManager.Instance.GetRoad(roadindex);\r\n if (!roads)\r\n return;\r\n let blocks = Game_Tool.SpliteString(roads[\"blocks\"]);\r\n let blockPoss = Game_Tool.SpliteString(roads[\"position\"]);\r\n let bps = [];\r\n let d = GlobalVariable.barrierRoadLength / GlobalVariable.barrierRoadAverageNum;\r\n blockPoss.forEach(element => {\r\n bps.push(this.tarDis + element * d);\r\n });\r\n let bbs = [];\r\n blocks.forEach(element => {\r\n let thing = CfgManager.Instance.GetBlock(element);\r\n let tss = Game_Tool.SpliteString(thing[\"block_things\"]);\r\n let tps = Game_Tool.SpliteString(thing[\"thing_position\"]);\r\n let ths = Game_Tool.SpliteString(thing[\"block_hp\"]);\r\n let ttt = [];\r\n tss.forEach(element1 => {\r\n let t = CfgManager.Instance.GetThing(element1);\r\n let tt = new ThingArr(t[\"type\"], t[\"prefabs\"], t[\"dynamic_type\"], t[\"dynamic_speed\"]);\r\n ttt.push(tt);\r\n });\r\n let things = new BlockArr(ttt, tps, ths);\r\n bbs.push(things);\r\n });\r\n let blockB = new RoadArr(bbs, bps);\r\n console.log(blockB);\r\n this.CreateSp(blockB);\r\n }\r\n CheckPlayerRoadPos(_zp) {\r\n if (this.isover)\r\n return;\r\n let d = this.tarDis - _zp;\r\n if (d > 0)\r\n return;\r\n this.SwitchBlock();\r\n }\r\n SwitchBlock() {\r\n this.curindex++;\r\n console.log(\"到达一个障碍物\");\r\n this.CreateBlock();\r\n }\r\n CreateSp(road) {\r\n let blocks = road.blocks;\r\n let blockPos = road.blockPos;\r\n let j = 0;\r\n for (let index = 0; index < blocks.length; index++) {\r\n const element = blocks[index];\r\n const p = blockPos[index];\r\n let things = element.things;\r\n let thingPos = element.thingPos;\r\n let blockHp = element.blockHp;\r\n let isr = blockHp.length > 1;\r\n for (let index = 0; index < things.length; index++) {\r\n const element1 = things[index];\r\n element1.z = p;\r\n element1.x = thingPos[index];\r\n element1.towerR = isr;\r\n element1.hp = blockHp[index];\r\n j++;\r\n Laya.timer.frameOnce(j, this, this._crete, [element1], false);\r\n }\r\n }\r\n }\r\n _crete(thing) {\r\n if (thing.type == 1 || thing.type == 2) {\r\n TowerController.Instance.CreateTower(thing);\r\n }\r\n else {\r\n let p = PoolManager.Instance.SetActiveObject(thing.prrfabName);\r\n if (!p)\r\n return;\r\n this.BlockContainer.addChild(p);\r\n let ts = p.getComponent(Block);\r\n if (!ts)\r\n ts = p.addComponent(Block);\r\n ts.SetBlock(thing);\r\n this.blockDic.set(p.id, ts);\r\n }\r\n }\r\n RemoveBlock(sp) {\r\n this.blockDic.delete(sp.id);\r\n }\r\n AddCubeBlock(sp) {\r\n if (this.cubeBlockDic.has(sp.id))\r\n return;\r\n this.cubeBlockDic.set(sp.id, sp);\r\n }\r\n ResetCubBlock(id) {\r\n let sp = this.cubeBlockDic.get(id);\r\n if (!sp)\r\n return;\r\n console.log(\"回收CubeBlock,\", sp.name);\r\n for (let index = 0; index < sp.numChildren; index++) {\r\n const element = sp.getChildAt(index);\r\n element.active = true;\r\n }\r\n }\r\n CubeBlockAtked(sp) {\r\n sp.active = false;\r\n EffectController.Instance.CreateBoomEffect(sp.transform.position);\r\n }\r\n Reset() {\r\n this.isover = false;\r\n let arr = [];\r\n for (const key in this.blockDic.container) {\r\n arr.push(key);\r\n }\r\n let j = 1;\r\n if (arr.length > 0) {\r\n for (let index = 0; index < arr.length; index++) {\r\n const element = arr[index];\r\n let s = this.blockDic.get(element);\r\n if (s)\r\n s.Des();\r\n if (this.cubeBlockDic.has(element)) {\r\n Laya.timer.frameOnce(j, this, this.ResetCubBlock, [element], false);\r\n j++;\r\n }\r\n }\r\n }\r\n console.log(\"this.blockDic.size\", this.blockDic.size);\r\n }\r\n}\r\n//# sourceMappingURL=BlockController.js.map",
- "references": [
- "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/GlobalVariable.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/LevelController.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Game_Tool.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/Controller/TowerController.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PoolManager.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/Block.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Dictionary.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/EffectController.ts",
- "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/CfgManager.ts"
- ],
- "map": "{\"version\":3,\"file\":\"BlockController.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Controller/BlockController.ts\"],\"names\":[],\"mappings\":\"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\"}"
- }
|