{ "code": "import { LevelManager } from \"./LevelManager\";\r\nimport { ScenceManager } from \"./ScenceManager\";\r\nvar Sprite3D = Laya.Sprite3D;\r\nimport { thingsdata, ResourcesManager } from \"./ResourcesManager\";\r\nimport PoolManager from \"./PoolManager\";\r\nimport { ColliderLay } from \"./Runner\";\r\nimport { GameUtils } from \"../../GameUtils/GameUtils\";\r\nexport class HeroData {\r\n constructor(_id) {\r\n this.id = _id;\r\n }\r\n}\r\nexport class HatData {\r\n constructor(_id) {\r\n this.id = _id;\r\n }\r\n}\r\nexport class roadthings {\r\n constructor(_id) {\r\n this.pos = new Laya.Vector3();\r\n this.id = Number(_id);\r\n }\r\n Resset() {\r\n var oldsp = this.sprite;\r\n if (!oldsp)\r\n return;\r\n if (this.id == thingsdata.Box || this.id == thingsdata.Box1 || this.id == thingsdata.Box2) {\r\n var ns = Sprite3D.instantiate(ResourcesManager.Instance.tsroadassets[this.id]);\r\n ns.transform.position = this.pos;\r\n this.sprite = ns;\r\n var box = ns.getChildByName(\"Box\").getComponent(Laya.PhysicsCollider);\r\n box.collisionGroup = ColliderLay.things;\r\n ScenceManager.Instance.GameScence.addChild(ns);\r\n if (!oldsp.destroyed)\r\n oldsp.destroy();\r\n }\r\n else if (this.id == thingsdata.Coin) {\r\n this.sprite.active = true;\r\n }\r\n }\r\n Clear() {\r\n if ((this.id == thingsdata.Box || this.id == thingsdata.Box1 || this.id == thingsdata.Box2) && !this.sprite.destroyed) {\r\n this.sprite.destroy();\r\n return;\r\n }\r\n if (this.sprite) {\r\n this.sprite.active = true;\r\n PoolManager.Instance.RecoverMeshSprite3D(this.sprite);\r\n }\r\n }\r\n static ForNodeSetColliderenbel(_node) {\r\n if (_node == null) {\r\n return;\r\n }\r\n _node.active = true;\r\n var childNumber = _node.numChildren;\r\n for (var i = 0; i < childNumber; i++) {\r\n var eChildNumber = _node.getChildAt(i).numChildren;\r\n if (eChildNumber > 0) {\r\n this.ForNodeSetColliderenbel(_node.getChildAt(i));\r\n }\r\n var PhysicsCollider = _node.getChildAt(i).getComponent(Laya.PhysicsCollider);\r\n if (PhysicsCollider && PhysicsCollider.collisionGroup == ColliderLay.things) {\r\n PhysicsCollider.enabled = true;\r\n }\r\n }\r\n }\r\n}\r\nexport class Stage {\r\n constructor(_id, _roads) {\r\n this.roadsdata = [];\r\n this.roads = [];\r\n this.roadpointxs = [];\r\n this.complete = false;\r\n this.enter = false;\r\n this.builds = [];\r\n this.stagejumphight = 0;\r\n this.id = Number(_id);\r\n this.roadsdata = _roads;\r\n }\r\n get StageHight() {\r\n var max = 0;\r\n for (var i = 0; i < this.roadsdata.length; i++) {\r\n if (this.roadsdata[i].high > max) {\r\n max = this.roadsdata[i].high;\r\n }\r\n }\r\n return max;\r\n }\r\n}\r\nexport class RunnerRoad {\r\n constructor(_id) {\r\n this.things = [];\r\n this.position = [];\r\n this.thing_hight = [];\r\n this.id = Number(_id);\r\n }\r\n GetThings(_str) {\r\n var thingss = [];\r\n var datas = _str.split(\";\");\r\n for (var i = 0; i < datas.length; i++) {\r\n if (datas[i] != \"-1\" && LevelManager.thingsdic[datas[i]]) {\r\n var things = LevelManager.thingsdic[datas[i]];\r\n }\r\n else {\r\n var things = new roadthings(\"-1\");\r\n }\r\n thingss.push(things);\r\n }\r\n return thingss;\r\n }\r\n GetPos(_str) {\r\n var poss = [];\r\n var datas = _str.split(\";\");\r\n for (var i = 0; i < datas.length; i++) {\r\n poss.push(datas[i]);\r\n }\r\n return poss;\r\n }\r\n GetTings_Hight(_str) {\r\n var hight = [];\r\n var datas = _str.split(\";\");\r\n for (var i = 0; i < datas.length; i++) {\r\n hight.push(Number(datas[i]));\r\n }\r\n return hight;\r\n }\r\n}\r\nRunnerRoad.lengthrate = 1.6;\r\nexport class Level {\r\n constructor(_id, _roads) {\r\n this.stages = [];\r\n this.npcspeed = 1;\r\n this.playerspeed = 1;\r\n this.levelid = Number(_id);\r\n this.stages = this.getStages(_roads);\r\n this.buildid = GameUtils.getRandomInt(0, 2);\r\n }\r\n getStages(_st) {\r\n var stages = [];\r\n var datas = _st.split(\";\");\r\n for (var i = 0; i < datas.length; i++) {\r\n var road = LevelManager.roaddic[datas[i]];\r\n var stage = new Stage(datas[i], road);\r\n stages.push(stage);\r\n }\r\n return stages;\r\n }\r\n getRoadPoint() {\r\n for (var i = 0; i < this.stages.length; i++) {\r\n var point = [];\r\n var stage = this.stages[i];\r\n for (var j = 0; j < stage.roads.length; j++) {\r\n if (stage.roads[j].sprite) {\r\n point.push(stage.roads[j].sprite.transform.position.x);\r\n }\r\n if (!stage.roads[j].sprite && stage.roads[j].things.length > 0) {\r\n point.push(stage.roads[j].things[0].sprite.transform.position.x);\r\n }\r\n }\r\n if (point.length != 0) {\r\n stage.roadpointxs = point;\r\n }\r\n else {\r\n stage.roadpointxs = [0];\r\n }\r\n }\r\n var newdic = {};\r\n for (var i = 0; i < this.stages.length; i++) {\r\n var ps = [];\r\n var stage = this.stages[i];\r\n var points = stage.roadpointxs;\r\n if (i + 1 > this.stages.length - 1) {\r\n for (var j = 0; j < points.length; j++) {\r\n ps.push(points[j]);\r\n }\r\n stage.roadpointxs = ps;\r\n return;\r\n }\r\n ;\r\n var nextpoints = this.stages[i + 1].roadpointxs;\r\n for (var k = 0; k < nextpoints.length; k++) {\r\n var has = false;\r\n for (var j = 0; j < points.length; j++) {\r\n if (points[j] == nextpoints[k]) {\r\n ps.push(points[j]);\r\n has = true;\r\n }\r\n }\r\n if (nextpoints.length == 1 && !has && ps.length == 0) {\r\n ps.push(nextpoints[k]);\r\n }\r\n }\r\n stage.roadpointxs = ps;\r\n }\r\n }\r\n}\r\n", "references": [ "C:/Users/admin/Desktop/runner/src/Scripts/Game/ConfigTest.ts", "C:/Users/admin/Desktop/runner/src/Scripts/Game/LevelManager.ts", "C:/Users/admin/Desktop/runner/src/Scripts/Game/ScenceManager.ts", "C:/Users/admin/Desktop/runner/src/Scripts/Game/ResourcesManager.ts", "C:/Users/admin/Desktop/runner/src/Scripts/Game/PoolManager.ts", "C:/Users/admin/Desktop/runner/src/Scripts/Game/Runner.ts", "C:/Users/admin/Desktop/runner/src/GameUtils/GameUtils.ts" ] }