12345678910111213141516171819 |
- {
- "code": "import { Runner } from \"./Runner\";\r\nimport { EventManager, EventType } from \"./EventManager\";\r\nimport { GameState, GameManager } from \"./GameManager\";\r\nimport CameraManager from \"./CameraManager\";\r\nvar Vector3 = Laya.Vector3;\r\nvar Vector2 = Laya.Vector2;\r\nimport { GameUtils } from \"../../GameUtils/GameUtils\";\r\nimport { ScenceManager } from \"./ScenceManager\";\r\nimport PoolManager from \"./PoolManager\";\r\nimport { ResourcesManager } from \"./ResourcesManager\";\r\nimport { LevelManager } from \"./LevelManager\";\r\nimport { Queue } from \"./Queue\";\r\nimport { PlayerAccount, AccountUser } from \"../Network/PlayerAccount\";\r\nexport var InputState;\r\n(function (InputState) {\r\n InputState[InputState[\"None\"] = 0] = \"None\";\r\n InputState[InputState[\"ClickDown\"] = 1] = \"ClickDown\";\r\n InputState[InputState[\"ClickUp\"] = 2] = \"ClickUp\";\r\n InputState[InputState[\"Slider\"] = 3] = \"Slider\";\r\n})(InputState || (InputState = {}));\r\nexport class Player {\r\n constructor(_sprite) {\r\n this.m_inputState = InputState.None;\r\n this.curMousePos = new Vector2(0, 0);\r\n this.offestx = 0;\r\n this.m_sprite = _sprite;\r\n this.m_model = this.m_sprite.getChildAt(0);\r\n ;\r\n this.m_runner = _sprite.addComponent(Runner);\r\n this.m_runner.m_speed = LevelManager.Instance.curLevel.playerspeed;\r\n Queue.Instance.signup(this.m_runner);\r\n this.m_runner.name = \"hehe\";\r\n Player.Instance = this;\r\n this.RegEvent();\r\n }\r\n Reset(_sprite) {\r\n this.m_sprite = _sprite;\r\n this.m_model = this.m_sprite.getChildAt(0);\r\n ;\r\n this.m_runner.m_effect = this.m_sprite.getChildByName(\"effect\");\r\n this.m_runner.Id = 6;\r\n this.m_runner = _sprite.addComponent(Runner);\r\n this.m_runner.OnLand = true;\r\n this.m_inputState = InputState.None;\r\n this.m_runner.name = \"hehe\";\r\n Queue.Instance.signup(this.m_runner);\r\n this.RegEvent();\r\n }\r\n RegEvent() {\r\n Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.OnClickDown);\r\n Laya.stage.on(Laya.Event.MOUSE_UP, this, this.OnClickUp);\r\n Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.OnClickUp);\r\n EventManager.EventOn(EventType.InputState, this, this.OnInput);\r\n EventManager.GameStateEventOn(GameState.Playing, this, this.OnEnterPlaying);\r\n EventManager.GameStateEventOn(GameState.Win, this, this.OnPlayerWin);\r\n EventManager.GameStateEventOn(GameState.Die, this, this.OnPlayerDie);\r\n EventManager.GameStateEventOn(GameState.End, this, this.OnGameOver);\r\n }\r\n UnRegEvent() {\r\n Laya.stage.off(Laya.Event.MOUSE_DOWN, this, this.OnClickDown);\r\n Laya.stage.off(Laya.Event.MOUSE_UP, this, this.OnClickUp);\r\n Laya.stage.off(Laya.Event.MOUSE_OUT, this, this.OnClickUp);\r\n EventManager.EventOff(EventType.InputState, this, this.OnInput);\r\n EventManager.GameStateEventOff(GameState.Playing, this, this.OnEnterPlaying);\r\n EventManager.GameStateEventOff(GameState.Win, this, this.OnPlayerWin);\r\n EventManager.GameStateEventOff(GameState.Die, this, this.OnPlayerDie);\r\n EventManager.GameStateEventOff(GameState.End, this, this.OnGameOver);\r\n Laya.timer.clearAll(this);\r\n }\r\n OnClickDown(e) {\r\n if (e.target instanceof Laya.UIComponent) {\r\n return;\r\n }\r\n this.m_inputState = InputState.ClickDown;\r\n if (!Player.CanInput)\r\n return;\r\n EventManager.EventTrigger(EventType.InputState, InputState.ClickDown);\r\n }\r\n OnClickUp(e) {\r\n if (e.target instanceof Laya.UIComponent) {\r\n return;\r\n }\r\n this.m_inputState = InputState.ClickDown;\r\n if (!Player.CanInput)\r\n return;\r\n EventManager.EventTrigger(EventType.InputState, InputState.ClickUp);\r\n }\r\n OnSlider() {\r\n this.m_inputState = InputState.Slider;\r\n if (!Player.CanInput)\r\n return;\r\n EventManager.EventTrigger(EventType.InputState, InputState.Slider);\r\n }\r\n OnInput(_state) {\r\n if (_state == InputState.ClickDown) {\r\n this.OnInputDown();\r\n }\r\n if (_state == InputState.ClickUp) {\r\n this.OnInputUp();\r\n }\r\n if (_state == InputState.Slider) {\r\n this.OnInputSlider();\r\n }\r\n }\r\n RessetPlayer(_hero = null) {\r\n if (this.m_runner.m_hat)\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_hat);\r\n if (this.m_runner.m_cb)\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_cb);\r\n if (this.m_runner.m_crown)\r\n this.m_runner.m_crown.active = true;\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_crown);\r\n if (this.m_sprite)\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_sprite);\r\n var playerid = Number(PlayerAccount.CurrentAccount.CurAccountData.GetUser(AccountUser.equip_hero));\r\n if (_hero)\r\n playerid = _hero.id;\r\n var player = ResourcesManager.Instance.roleassets[playerid].getChildAt(0);\r\n var playermodel = PoolManager.Instance.CreatMeshSprite3D(player, \"\");\r\n var startpoint = new Vector3(0, 0, 10);\r\n playermodel.transform.position = startpoint;\r\n var hatid = Number(PlayerAccount.CurrentAccount.CurAccountData.GetUser(AccountUser.equip_hat));\r\n if (hatid > 0) {\r\n var hat = ResourcesManager.Instance.hatasset[hatid];\r\n var hatmodel = PoolManager.Instance.CreatMeshSprite3D(hat, \"\");\r\n var head = playermodel.getChildAt(0).getChildAt(0);\r\n head.addChild(hatmodel);\r\n hatmodel.transform.localPosition = new Laya.Vector3(0.06, 0, 0);\r\n hatmodel.transform.localRotationEuler = new Laya.Vector3(0, 90, 0);\r\n }\r\n var cbid = Number(PlayerAccount.CurrentAccount.CurAccountData.GetUser(AccountUser.equip_hat));\r\n if (cbid > 0) {\r\n var cb = ResourcesManager.Instance.cbasset[cbid];\r\n var cbmodel = PoolManager.Instance.CreatMeshSprite3D(cb, \"\");\r\n var back = playermodel.getChildAt(0).getChildAt(1);\r\n back.addChild(cbmodel);\r\n cbmodel.transform.localPosition = new Laya.Vector3(0, -0.01, 0);\r\n cbmodel.transform.localRotationEuler = new Laya.Vector3(-25, 90, 180);\r\n }\r\n ScenceManager.Instance.GameScence.addChild(playermodel);\r\n this.m_runner.Id = 6;\r\n CameraManager.Instance.StopFollow();\r\n ScenceManager.Instance.GameCamera.transform.position = new Vector3(0, 0.6, 8.5);\r\n ScenceManager.Instance.GameCamera.transform.rotationEuler = new Vector3(-5, 180, 0);\r\n this.Reset(playermodel);\r\n }\r\n ClearPlayer() {\r\n this.m_runner.m_flySprite.active = true;\r\n this.m_runner.m_crown.active = true;\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_flySprite);\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_crown);\r\n if (this.m_runner.m_hat)\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_hat);\r\n if (this.m_runner.m_cb)\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_runner.m_cb);\r\n PoolManager.Instance.RecoverMeshSprite3D(this.m_sprite);\r\n CameraManager.Instance.StopFollow();\r\n ScenceManager.Instance.GameCamera.transform.position = new Vector3(0, 0.6, 8.5);\r\n ScenceManager.Instance.GameCamera.transform.rotationEuler = new Vector3(-5, 180, 0);\r\n }\r\n RevivePlayer() {\r\n var stage = this.m_runner.curstage;\r\n this.m_runner.die = false;\r\n this.m_runner.m_crown.active = false;\r\n this.m_sprite.transform.position = new Vector3(0, stage.starty + 5, stage.startz + 5);\r\n this.m_runner.SetMove();\r\n this.m_runner.curspeed = this.m_runner.m_speed;\r\n this.m_runner.SetFly();\r\n ScenceManager.Instance.GameCamera.transform.position = new Vector3(0, this.m_sprite.transform.position.y + 0.6, this.m_sprite.transform.position.z - 1.5);\r\n CameraManager.Instance.SetFollow(this.m_sprite.transform);\r\n Player.CanInput = true;\r\n }\r\n get CurLevelPrecent() {\r\n return this.m_runner.m_sprite.transform.position.z / LevelManager.Instance.curLevel.endroadsprite.transform.position.z;\r\n }\r\n OnEnterIdle() {\r\n CameraManager.Instance.SetFollow(this.m_sprite.transform);\r\n }\r\n OnEnterPlaying() {\r\n CameraManager.Instance.SetFollow(this.m_sprite.transform);\r\n }\r\n OnPlayerWin() {\r\n Player.CanInput = false;\r\n this.m_runner.Stop();\r\n CameraManager.Instance.StopFollow();\r\n ScenceManager.Instance.GameLight.transform.rotationEuler = new Vector3(-50, 0, 0);\r\n var camera = ScenceManager.Instance.GameCamera;\r\n var camerapos = new Vector3(1, this.m_sprite.transform.position.y + 1.5, this.m_sprite.transform.position.z + 2.5);\r\n var lookpos = new Vector3(this.m_sprite.transform.position.x, this.m_sprite.transform.position.y + 0.5, this.m_sprite.transform.position.z);\r\n GameUtils.TweenLookAtMove(camera.transform, camerapos, this.m_sprite.transform.position, 1.5, () => {\r\n Laya.timer.once(1000, this, () => {\r\n GameManager.Instance.ChangeState(GameState.End, true);\r\n });\r\n });\r\n }\r\n OnPlayerDie() {\r\n Player.CanInput = false;\r\n this.m_runner.Stop();\r\n CameraManager.Instance.StopFollow();\r\n GameManager.Instance.ChangeState(GameState.Revive);\r\n }\r\n OnGameOver() {\r\n this.offestx = 0;\r\n this.UnRegEvent();\r\n }\r\n OnInputDown() {\r\n this.curMousePos = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);\r\n Laya.timer.frameLoop(1, this, this.OnSlider);\r\n }\r\n OnInputUp() {\r\n this.offestx = 0;\r\n this.m_runner.BackRote();\r\n Laya.timer.clear(this, this.OnSlider);\r\n }\r\n OnInputSlider() {\r\n var MousePos = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);\r\n var offestX = MousePos.x - this.curMousePos.x;\r\n offestX = offestX > 100 ? 100 : offestX;\r\n offestX = offestX < -100 ? -100 : offestX;\r\n this.offestx = GameUtils.lerp(this.offestx, offestX, 0.015);\r\n this.m_runner.MoveX(-this.offestx);\r\n var dir = new Vector3(-offestX * 0.005, 0, 0);\r\n if (!this.m_runner.fly)\r\n this.m_runner.TurnDir(dir);\r\n this.curMousePos = MousePos;\r\n }\r\n}\r\nPlayer.CanInput = true;\r\n",
- "references": [
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/Runner.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/EventManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/GameManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/CameraManager.ts",
- "C:/Users/admin/Desktop/runner/src/GameUtils/GameUtils.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/ScenceManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/PoolManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/ResourcesManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/LevelManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/LevelData.ts",
- "C:/Users/admin/Desktop/runner/src/Window/WindowManager.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Game/Queue.ts",
- "C:/Users/admin/Desktop/runner/src/Scripts/Network/PlayerAccount.ts"
- ]
- }
|