1234567891011121314 |
- {
- "code": "import { AssetManager } from \"../Tools/AssetManager\";\r\nimport GamePool from \"../Tools/GamePool\";\r\nimport { EventManager, EventState } from \"../Tools/EventManager\";\r\nimport { PlayerControl } from \"./PlayerControl\";\r\nimport { ViewManager, ViewType } from \"../View/ViewManager\";\r\nimport { GameTools } from \"../Tools/GameTools\";\r\nimport { NpcControl } from \"./NpcControl\";\r\nimport { StageControl } from \"./StageControl\";\r\nexport class GameManager {\r\n constructor() {\r\n this.CharacterArray = [];\r\n GameManager.ins = this;\r\n EventManager.EventOn(EventState.StageInit, this, this.CreatStage);\r\n EventManager.EventOn(EventState.StageCreateComplete, this, this.Init);\r\n }\r\n static get Instance() {\r\n if (GameManager.ins) {\r\n return GameManager.ins;\r\n }\r\n else {\r\n return new GameManager();\r\n }\r\n }\r\n Init() {\r\n this.CreatCharacter();\r\n this.mainscene = AssetManager.Instance.mainscene;\r\n Laya.stage.addChildAt(this.mainscene, 0);\r\n ViewManager.Instance.ShowView(ViewType.MainView);\r\n }\r\n CreatStage() {\r\n StageControl.Instance.RessetStage();\r\n }\r\n CreatCharacter() {\r\n this.CreatPlayer();\r\n this.CreatEnemy();\r\n }\r\n CreatPlayer() {\r\n var playermodel = GamePool.Instance.GetModel(AssetManager.Instance.Player.get(1), \"\");\r\n var horsemodel = GamePool.Instance.GetModel(AssetManager.Instance.Horse.get(1), \"\");\r\n playermodel.addChild(horsemodel);\r\n playermodel.transform.position = new Laya.Vector3(0, 0, 0);\r\n horsemodel.transform.localScale = new Laya.Vector3(1, 1, 1);\r\n horsemodel.transform.localPosition = new Laya.Vector3(0, 0, 0);\r\n this.raypos = playermodel.getChildByName(\"raypos\");\r\n this.archerpos = playermodel.getChildByName(\"archerpos\");\r\n this.arrowpos = playermodel.getChildByName(\"arrowpos\");\r\n this.CreatRay(this.raypos.transform.position.clone(), this.raypos.transform.rotationEuler.clone(), this.raypos);\r\n this.CreatArcher(this.archerpos.transform.position.clone(), this.archerpos.transform.rotationEuler.clone(), this.archerpos);\r\n PlayerControl.Instance.Init(playermodel);\r\n AssetManager.Instance.mainscene.addChild(playermodel);\r\n this.CharacterArray.push(playermodel);\r\n GameTools.Instance.PlayerSetCollider(playermodel, 200);\r\n }\r\n CreatEnemy() {\r\n for (let i = 0; i < 10; i++) {\r\n var enemymodel = GamePool.Instance.GetModel(AssetManager.Instance.Enemy.get(1), \"\");\r\n let posX = GameTools.RandomANumber(-20, 20);\r\n let posZ = GameTools.RandomANumber(20, 100);\r\n enemymodel.transform.position = new Laya.Vector3(posX, 0, posZ);\r\n enemymodel.transform.rotationEuler = new Laya.Vector3(0, 180, 0);\r\n NpcControl.Instance.Init(enemymodel);\r\n AssetManager.Instance.mainscene.addChild(enemymodel);\r\n GameTools.Instance.EnemySetCollider(enemymodel, 100);\r\n this.CharacterArray.push(enemymodel);\r\n }\r\n }\r\n CreatRay(pos, euler, raypos) {\r\n var ray = this.CreatRayPrefab();\r\n raypos.addChild(ray);\r\n ray.transform.position = pos;\r\n ray.transform.rotationEuler = euler;\r\n }\r\n CreatRayPrefab() {\r\n var ray = GamePool.Instance.GetModel(AssetManager.Instance.Prop.get(18), \"\");\r\n return ray;\r\n }\r\n CreatArcher(_pos, _euler, archerpos) {\r\n var archer = GamePool.Instance.GetModel(AssetManager.Instance.Prop.get(16), \"\");\r\n archerpos.addChild(archer);\r\n archer.transform.position = _pos;\r\n archer.transform.rotationEuler = _euler;\r\n var scale = archer.transform.scale.clone();\r\n scale.x = 0.3;\r\n scale.y = 0.3;\r\n scale.z = 0.6;\r\n archer.transform.scale = scale;\r\n }\r\n}\r\n",
- "references": [
- "E:/LayaProject/ArcherWorrior/src/Tools/AssetManager.ts",
- "E:/LayaProject/ArcherWorrior/src/Tools/GamePool.ts",
- "E:/LayaProject/ArcherWorrior/src/Tools/EventManager.ts",
- "E:/LayaProject/ArcherWorrior/src/Game/PlayerControl.ts",
- "E:/LayaProject/ArcherWorrior/src/View/ViewManager.ts",
- "E:/LayaProject/ArcherWorrior/src/Tools/GameTools.ts",
- "E:/LayaProject/ArcherWorrior/src/Game/NpcControl.ts",
- "E:/LayaProject/ArcherWorrior/src/Game/StageControl.ts"
- ]
- }
|