1234567891011121314 |
- {
- "code": "import { Level, RunnerRoad, roadthings } from \"./LevelData\";\r\nimport { ConfigTest } from \"./ConfigTest\";\r\nimport { ScenceManager } from \"./ScenceManager\";\r\nimport { ColliderLay } from \"./Runner\";\r\nimport PoolManager from \"./PoolManager\";\r\nimport { PlayerAccount, AccountConfig } from \"../Network/PlayerAccount\";\r\nexport class LevelManager {\r\n constructor() {\r\n LevelManager.test = false;\r\n LevelManager.instance = this;\r\n LevelManager.thingsdic = LevelManager.GetThingsConfigs;\r\n LevelManager.roaddic = LevelManager.GetRoadConfigs;\r\n LevelManager.testleveldic = LevelManager.GetLevelConfigs;\r\n }\r\n static get Instance() {\r\n if (LevelManager.instance) {\r\n return LevelManager.instance;\r\n }\r\n else {\r\n return new LevelManager();\r\n }\r\n }\r\n ReadyLevel(_id, _complete) {\r\n this.curLevel = LevelManager.testleveldic[_id] ? LevelManager.testleveldic[_id] : LevelManager.testleveldic[1];\r\n _complete();\r\n }\r\n NextLevel() {\r\n var id = this.curLevel.levelid + 1;\r\n this.ReadyLevel(id, () => {\r\n ScenceManager.Instance.CreatLevelScene(false);\r\n });\r\n }\r\n static get GetLevelConfigs() {\r\n var leveldatas = {};\r\n var levels = LevelManager.test ? ConfigTest.mission : PlayerAccount.CurrentAccount.CurAccountData.GetConfig(AccountConfig.mission);\r\n for (var key in levels) {\r\n var config = levels[key];\r\n var level = new Level(config.id, config.roads);\r\n level.pic = Number(config.pic);\r\n level.colour = Number(config.pic);\r\n level.NPCmiss = Number(config.NPCmiss) / 100;\r\n level.npcspeed = config.NpcSpeed ? Number(config.NpcSpeed) : 1;\r\n level.playerspeed = config.PlayerSpeed ? Number(config.PlayerSpeed) : 1;\r\n leveldatas[config.id] = level;\r\n }\r\n return leveldatas;\r\n }\r\n static get GetRoadConfigs() {\r\n var roaddatas = {};\r\n var roads = LevelManager.test ? ConfigTest.road : PlayerAccount.CurrentAccount.CurAccountData.GetConfig(AccountConfig.road);\r\n for (var key in roads) {\r\n var roadss = [];\r\n if (roaddatas[roads[key].road_id])\r\n continue;\r\n for (var key1 in roads) {\r\n if (roads[key].road_id == roads[key1].road_id) {\r\n var config = roads[key1];\r\n var road = new RunnerRoad(config.road_id);\r\n road.high = (Number(config.high) < 0) ? 0 : Number(config.high);\r\n road.high = road.high == 0 ? 0.5 : road.high;\r\n road.start = Number(config.start);\r\n road.street = Number(config.street);\r\n road.high_change = Number(config.high_change);\r\n road.long = (Number(config.long) < 0) ? 0 : Number(config.long);\r\n road.things = road.GetThings(config.things);\r\n road.position = road.GetPos(config.position);\r\n road.thing_hight = road.GetTings_Hight(config.things_high);\r\n roadss.push(road);\r\n }\r\n }\r\n roaddatas[config.road_id] = roadss;\r\n }\r\n return roaddatas;\r\n }\r\n static get GetThingsConfigs() {\r\n var thingsdatas = {};\r\n var thingss = LevelManager.test ? ConfigTest.things : PlayerAccount.CurrentAccount.CurAccountData.GetConfig(AccountConfig.things);\r\n for (var key in thingss) {\r\n var config = thingss[key];\r\n var thing = new roadthings(config.id);\r\n thing.type = Number(config.type);\r\n thing.model = config.model;\r\n thing.effect = Number(config.effect);\r\n thing.buffertime = Number(config.bufftime);\r\n thingsdatas[config.id] = thing;\r\n }\r\n return thingsdatas;\r\n }\r\n RessetLevel() {\r\n this.curLevel.endroadsprite.active = false;\r\n var levelstages = this.curLevel.stages;\r\n for (var i = 0; i < levelstages.length; i++) {\r\n var roads = levelstages[i].roads;\r\n for (var j = 0; j < roads.length; j++) {\r\n roads[j].Resset();\r\n }\r\n levelstages[i].enter = false;\r\n levelstages[i].complete = false;\r\n if (i < 2) {\r\n var roads22 = levelstages[i].roads;\r\n for (var k = 0; k < roads22.length; k++) {\r\n var rr = roads22[k];\r\n rr.SetActive(true);\r\n }\r\n var builds22 = levelstages[i].builds;\r\n for (var k = 0; k < builds22.length; k++) {\r\n var bb = builds22[k];\r\n bb.active = true;\r\n }\r\n }\r\n else {\r\n var roads22 = levelstages[i].roads;\r\n for (var k = 0; k < roads22.length; k++) {\r\n var rr = roads22[k];\r\n rr.SetActive(false);\r\n }\r\n var builds22 = levelstages[i].builds;\r\n for (var k = 0; k < builds22.length; k++) {\r\n var bb = builds22[k];\r\n bb.active = false;\r\n }\r\n }\r\n }\r\n var wincollider = this.curLevel.endroadsprite.getChildByName(\"Win\").getComponent(Laya.PhysicsCollider);\r\n wincollider.collisionGroup = ColliderLay.things;\r\n }\r\n ClearLevel() {\r\n PoolManager.Instance.RecoverMeshSprite3D(this.curLevel.ramproad.sprite, \"\");\r\n PoolManager.Instance.RecoverMeshSprite3D(this.curLevel.endroadsprite, \"\");\r\n var levelstages = this.curLevel.stages;\r\n for (var i = 0; i < levelstages.length; i++) {\r\n var roads = levelstages[i].roads;\r\n for (var j = 0; j < roads.length; j++) {\r\n roads[j].Clear();\r\n }\r\n var builds22 = levelstages[i].builds;\r\n for (var k = 0; k < builds22.length; k++) {\r\n var bb = builds22[k];\r\n bb.active = true;\r\n PoolManager.Instance.RecoverMeshSprite3D(bb);\r\n }\r\n levelstages[i].sprite.destroy();\r\n }\r\n }\r\n}\r\nLevelManager.test = false;\r\nLevelManager.testleveldic = {};\r\nLevelManager.roaddic = {};\r\nLevelManager.thingsdic = {};\r\n",
- "references": [
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/ResourcesManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/LevelData.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/ConfigTest.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/ScenceManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/Runner.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/PoolManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Network/PlayerAccount.ts",
- "C:/Users/admin/Desktop/runner/src/Main.ts"
- ]
- }
|