1234567891011121314151617 |
- {
- "code": "import { PlayerManager } from \"../Manager/PlayerManager\";\r\nvar Vector3 = Laya.Vector3;\r\nvar Quaternion = Laya.Quaternion;\r\nimport { Transform3DHelper } from \"../GameUtils/NodeUtil\";\r\nimport { AssetManager } from \"../Resources/AssetManager\";\r\nimport { GameTools } from \"../GameUtils/GameTools\";\r\nimport { DispatcherManager, StageState, RoleState } from \"../GameUtils/EventManager\";\r\nimport WallBehav from \"./WallBehav\";\r\nexport class MateMove extends Laya.Script3D {\r\n constructor() {\r\n super();\r\n this._speed = 0.2;\r\n this.testspeed = 0.35;\r\n this.Tag_Head = false;\r\n this.start = false;\r\n this.isdead = false;\r\n this.geted = false;\r\n this._arriver = false;\r\n this._destination = false;\r\n this.GravityTime = 0;\r\n this.ChargeSpeed = 0;\r\n this.ChargeTime = 0;\r\n this.Downhit = new Laya.HitResult();\r\n this.FowardHit = new Laya.HitResult();\r\n this._forward = new Vector3(0, 0, 0);\r\n this._up = new Vector3(0, 1, 0);\r\n this.CanJump = false;\r\n this.JumpTime = 0;\r\n this.JumpSpeed = 0.3;\r\n this.JumpSpeedUp = 1;\r\n this.targetPos = new Vector3(0, 0, 0);\r\n this.forW = new Vector3(0, 0, 0);\r\n this.RoleList = [];\r\n this.MovePointList = [];\r\n this.MoveRotateList = [];\r\n this._foward = new Laya.Vector3(0, 0, 0);\r\n this._MovetarPos = new Laya.Vector3(0, 0, 0);\r\n this.curpos2 = new Vector3();\r\n this.offest2 = new Vector3();\r\n this.curspeed2 = 0;\r\n this.curpos = new Vector3();\r\n this.offest = new Vector3();\r\n this.curspeed = 0;\r\n DispatcherManager.StageOn(StageState.Start, this, this.GameStart);\r\n }\r\n onAwake() {\r\n this._gameobject = this.owner;\r\n this._transform = this._gameobject.transform;\r\n this._quaternion = new Quaternion();\r\n this._animator = this._gameobject.getComponent(Laya.Animator);\r\n }\r\n onUpdate() {\r\n if (!this.start)\r\n return;\r\n if (this.isdead) {\r\n this.RoleDie();\r\n this.ChangeState(RoleState.Die);\r\n return;\r\n }\r\n if (this._destination)\r\n return;\r\n if (this.Tag_Head) {\r\n if (this.DownRayCheck) {\r\n if (this.curstate == RoleState.OnLand) {\r\n this._gameobject.transform.position = new Vector3(this._gameobject.transform.position.x, this.Downhit.point.y, this._gameobject.transform.position.z);\r\n if (this.Downhit.collider.owner.parent.name == \"speed\") {\r\n this.SpeedUp(0.6, 0.1);\r\n }\r\n else if (this.Downhit.collider.owner.parent.name == \"Ramp\") {\r\n this.SpeedUp(0.3, 0.2);\r\n this.Jump();\r\n }\r\n }\r\n else if (this.curstate == RoleState.Sky) {\r\n var distance = this._gameobject.transform.position.y - this.Downhit.point.y;\r\n if (distance < 0.5) {\r\n var leropos = new Vector3(this._gameobject.transform.position.x, this.Downhit.point.y, this._gameobject.transform.position.z);\r\n Vector3.lerp(this._gameobject.transform.position, leropos, 0.3, leropos);\r\n this._gameobject.transform.position = leropos;\r\n this.ChangeState(RoleState.OnLand);\r\n }\r\n }\r\n }\r\n else {\r\n this.ChangeState(RoleState.Sky);\r\n }\r\n if (this.FowardRayCheck) {\r\n }\r\n let foward = Transform3DHelper.getForward(this._gameobject.transform);\r\n this.Move(foward);\r\n this.Gravity();\r\n }\r\n else {\r\n if (!this.geted)\r\n return;\r\n if (this._arriver) {\r\n if (this.DownRayCheck) {\r\n if (this.curstate == RoleState.OnLand) {\r\n this._gameobject.transform.position = new Vector3(this._gameobject.transform.position.x, this.Downhit.point.y, this._gameobject.transform.position.z);\r\n }\r\n else if (this.curstate == RoleState.Sky) {\r\n var distance = this._gameobject.transform.position.y - this.Downhit.point.y;\r\n if (distance < 0.5) {\r\n var leropos = new Vector3(this._gameobject.transform.position.x, this.Downhit.point.y, this._gameobject.transform.position.z);\r\n Vector3.lerp(this._gameobject.transform.position, leropos, 0.3, leropos);\r\n this._gameobject.transform.position = leropos;\r\n this.ChangeState(RoleState.OnLand);\r\n }\r\n }\r\n }\r\n else {\r\n this.ChangeState(RoleState.Sky);\r\n }\r\n this.RoleMoveFun();\r\n this.Gravity();\r\n }\r\n else {\r\n this.MoveToGroup();\r\n }\r\n }\r\n if (this._gameobject.transform.position.y < -20) {\r\n this.ChangeState(RoleState.Die);\r\n }\r\n }\r\n GameStart() {\r\n this.start = true;\r\n if (this.Tag_Head)\r\n this.ChangeState(RoleState.OnLand);\r\n Laya.timer.loop(2, this, this.SetNewMovePoint, [this._transform]);\r\n }\r\n Start(model) {\r\n if (this.geted)\r\n return;\r\n this.targetmodel = model.getChildByName(\"followpos\");\r\n this.geted = true;\r\n this.ChangeState(RoleState.OnLand);\r\n }\r\n ChangeState(state) {\r\n if (this.curstate == state)\r\n return;\r\n this.curstate = state;\r\n switch (this.curstate) {\r\n case RoleState.Die:\r\n this.DIE();\r\n break;\r\n case RoleState.Sky:\r\n this.SKY();\r\n break;\r\n case RoleState.OnLand:\r\n this.ONLAND();\r\n break;\r\n case RoleState.Arriver:\r\n this.ARRIVER();\r\n break;\r\n }\r\n }\r\n ONLAND() {\r\n if (this.Tag_Head) {\r\n this._animator.play(\"run\");\r\n this._animator.speed = 2;\r\n }\r\n else {\r\n if (this.geted) {\r\n this._animator.play(\"run\");\r\n this._animator.speed = 2;\r\n }\r\n else {\r\n this._animator.play(\"idle\");\r\n }\r\n }\r\n }\r\n SKY() {\r\n this._animator.play(\"sky\");\r\n }\r\n ARRIVER() {\r\n this._destination = true;\r\n Laya.timer.clear(this, this.SetNewMovePoint);\r\n this._animator.play(\"win\");\r\n if (this.Tag_Head) {\r\n for (let i = 0; i < this.RoleList.length; i++) {\r\n let item = this.RoleList[i].getComponent(MateMove);\r\n if (item) {\r\n item.ARRIVER();\r\n }\r\n }\r\n }\r\n }\r\n DIE() {\r\n Laya.timer.clear(this, this.SetNewMovePoint);\r\n this._gameobject.active = false;\r\n this.destroy();\r\n }\r\n SetMoveTarger(_point, _rotate) {\r\n if (_point) {\r\n this._MovetarPos = _point;\r\n this._gameobject.transform.position = this._MovetarPos.clone();\r\n this._gameobject.transform.rotationEuler = _rotate.clone();\r\n this.MovePointList.push(_point);\r\n if (this.MovePointList.length > 100) {\r\n this.MovePointList.shift();\r\n }\r\n this.MoveRotateList.push(_rotate);\r\n if (this.MoveRotateList.length > 100) {\r\n this.MoveRotateList.shift();\r\n }\r\n }\r\n }\r\n RoleMoveFun() {\r\n Quaternion.lookAt(this._MovetarPos, this._transform.position, this._up, this._quaternion);\r\n this._quaternion.invert(this._quaternion);\r\n Quaternion.slerp(this._transform.rotation, this._quaternion, 0.1, this._quaternion);\r\n this._transform.rotation = this._quaternion.clone();\r\n let _rotationEuler = this._transform.rotationEuler.clone();\r\n _rotationEuler.x = 0;\r\n _rotationEuler.z = 0;\r\n this._transform.rotationEuler = _rotationEuler;\r\n }\r\n SetNewMovePoint(_transform) {\r\n if (this.Tag_Head) {\r\n var _movePos = _transform.position.clone();\r\n var _point = new Laya.Vector3(_movePos.x, _movePos.y, _movePos.z);\r\n var _rotate = _transform.rotationEuler.clone();\r\n this.MovePointList.push(_point);\r\n if (this.MovePointList.length > 200) {\r\n this.MovePointList.shift();\r\n }\r\n this.MoveRotateList.push(_rotate);\r\n if (this.MoveRotateList.length > 200) {\r\n this.MoveRotateList.shift();\r\n }\r\n for (let i = 0; i < this.RoleList.length; i++) {\r\n var _script = this.RoleList[i].getComponent(MateMove);\r\n if (_script) {\r\n var _id = this.MovePointList.length - 1 - (i + 1) * 10;\r\n _script.SetMoveTarger(this.MovePointList[_id], this.MoveRotateList[_id]);\r\n }\r\n }\r\n }\r\n }\r\n RoleDie() {\r\n if (this.RoleList.length == 0) {\r\n return;\r\n }\r\n var _newHand = this.RoleList[0];\r\n var _script = _newHand.getComponent(MateMove);\r\n if (_script) {\r\n _script._gameobject.transform.rotationEuler = this._gameobject.transform.rotationEuler.clone();\r\n _script.Tag_Head = true;\r\n PlayerManager.Instance.player = _script._gameobject;\r\n _script.RoleList = [];\r\n for (let i = 1; i < this.RoleList.length; i++) {\r\n _script.RoleList.push(this.RoleList[i]);\r\n }\r\n }\r\n }\r\n MoveToGroup() {\r\n this.targetPos = this.targetmodel.transform.position;\r\n let tarPos = this.targetPos;\r\n let speed = 0.05;\r\n Vector3.subtract(tarPos, this._transform.position, this._forward);\r\n Vector3.normalize(this._forward, this._forward);\r\n this._forward = new Vector3(this._forward.x * speed, this._forward.y * speed, this._forward.z * speed);\r\n this._transform.translate(this._forward, false);\r\n if (Vector3.distance(this._transform.position, tarPos) < 0.1) {\r\n this.ArriverTargetPos();\r\n return;\r\n }\r\n Quaternion.lookAt(tarPos, this._transform.position, this._up, this._quaternion);\r\n this._quaternion.invert(this._quaternion);\r\n Quaternion.slerp(this._transform.rotation, this._quaternion, 0.1, this._quaternion);\r\n this._transform.rotation = this._quaternion.clone();\r\n }\r\n Move(_dir) {\r\n let speed = this.testspeed;\r\n if (this.ChargeTime > 0) {\r\n this.ChargeTime -= 0.01;\r\n speed = speed + this.ChargeSpeed;\r\n }\r\n else {\r\n this.ChargeSpeed = GameTools.Instance.lerp(this.ChargeSpeed, 0, 0.1);\r\n speed = speed + this.ChargeSpeed;\r\n this.ChargeTime = 0;\r\n }\r\n this.curspeed = GameTools.Instance.lerp(this.curspeed, speed, 0.1);\r\n Vector3.scale(_dir, this.curspeed, this.offest);\r\n Vector3.add(this._gameobject.transform.position, this.offest, this.curpos);\r\n Vector3.lerp(this._gameobject.transform.position, this.curpos, 0.15, this.curpos);\r\n if (this.CanJump) {\r\n this.JumpTime += 0.8;\r\n var Height = this.JumpSpeed * this.JumpTime * 1.9 - (this.JumpTime * this.JumpTime * this.JumpSpeedUp);\r\n if (Height > 0) {\r\n this.curpos = new Vector3(this.curpos.x, this.curpos.y + Height, this.curpos.z);\r\n }\r\n else {\r\n this.CanJump = false;\r\n }\r\n this.curpos = new Vector3(this.curpos.x, this.curpos.y + 0.7, this.curpos.z);\r\n this._gameobject.transform.position = this.curpos;\r\n }\r\n else {\r\n this.curpos = new Vector3(this.curpos.x, this.curpos.y, this.curpos.z);\r\n this._gameobject.transform.position = this.curpos;\r\n }\r\n }\r\n ArriverTargetPos() {\r\n this._gameobject.transform.position = this.targetmodel.transform.position.clone();\r\n this._gameobject.transform.rotationEuler = this.targetmodel.transform.rotationEuler.clone();\r\n this._arriver = true;\r\n }\r\n get DownRayCheck() {\r\n var startPos = new Vector3(this._gameobject.transform.position.x, this._gameobject.transform.position.y + 0.1, this._gameobject.transform.position.z);\r\n let foward = new Laya.Vector3(0, -1, 0);\r\n var FowardRay = new Laya.Ray(startPos, foward);\r\n var isDownHit = false;\r\n if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(FowardRay, this.Downhit, 1)) {\r\n if (this.Downhit != null) {\r\n if (this.Downhit.collider.collisionGroup == 1) {\r\n isDownHit = true;\r\n }\r\n }\r\n }\r\n return isDownHit;\r\n }\r\n get FowardRayCheck() {\r\n var isFowardHit = false;\r\n var startPos = new Vector3(this._gameobject.transform.position.x, this._gameobject.transform.position.y + 0.1, this._gameobject.transform.position.z);\r\n let foward = Transform3DHelper.getForward(this._gameobject.transform);\r\n var FowardRay = new Laya.Ray(startPos, foward);\r\n if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(FowardRay, this.FowardHit, 0.1)) {\r\n if (this.FowardHit) {\r\n console.log(this.FowardHit.collider.owner.parent.name);\r\n console.log(\"前方有物体\");\r\n }\r\n if (this.FowardHit.collider.collisionGroup == 100) {\r\n console.log(\"射线打到npc了\");\r\n this.ForwardTarget = this.FowardHit.collider;\r\n isFowardHit = true;\r\n let _mate = this.FowardHit.collider.owner.parent.getComponent(MateMove);\r\n if (_mate) {\r\n let _model;\r\n if (this.RoleList.length > 0) {\r\n _model = this.RoleList[this.RoleList.length - 1];\r\n }\r\n else {\r\n _model = this._gameobject;\r\n }\r\n _mate.Start(_model);\r\n let target = this.FowardHit.collider.owner.parent;\r\n if (!this.JudgeEqual(target)) {\r\n this.RoleList.push(target);\r\n }\r\n }\r\n }\r\n else if (this.FowardHit.collider.collisionGroup == 2) {\r\n this.isdead = true;\r\n let _wall = this.FowardHit.collider.owner.parent;\r\n let _behav = _wall.getComponent(WallBehav);\r\n if (_behav) {\r\n _behav.Crash();\r\n }\r\n else {\r\n _behav = _wall.addComponent(WallBehav);\r\n _behav.crash = true;\r\n }\r\n }\r\n else if (this.FowardHit.collider.collisionGroup == 3) {\r\n this.Crash();\r\n }\r\n else if (this.FowardHit.collider.collisionGroup == 200) {\r\n this.ChangeState(RoleState.Arriver);\r\n }\r\n }\r\n return isFowardHit;\r\n }\r\n Crash() {\r\n let target = this.FowardHit.collider.owner.parent;\r\n switch (target.name) {\r\n case \"Ramp\":\r\n this.SpeedUp(0.8, 0.3);\r\n this.Jump();\r\n break;\r\n case \"Coin\":\r\n target.destroy();\r\n break;\r\n }\r\n }\r\n Gravity() {\r\n if (this.curstate == RoleState.Sky) {\r\n if (this.ChargeSpeed > 0.001) {\r\n this.GravityTime += 0.008;\r\n }\r\n else {\r\n this.GravityTime += 0.010;\r\n }\r\n var hight = this.GravityTime * this.GravityTime;\r\n this._gameobject.transform.position = new Vector3(this._gameobject.transform.position.x, this._gameobject.transform.position.y - hight, this._gameobject.transform.position.z + hight / 2);\r\n }\r\n }\r\n Jump() {\r\n this.CanJump = true;\r\n this.JumpTime = 0;\r\n }\r\n SpeedUp(_speed, _time) {\r\n if (this.ChargeTime < _time) {\r\n this.ChargeTime += 0.1;\r\n }\r\n if (this.ChargeSpeed < _speed) {\r\n this.ChargeSpeed += 0.2;\r\n }\r\n }\r\n JudgeEqual(_model) {\r\n for (let i = 0; i < this.RoleList.length; i++) {\r\n let item = this.RoleList[i];\r\n if (item == _model) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n//# sourceMappingURL=MateMove.js.map",
- "references": [
- "E:/LayaProject/DanceLine/RubikCube/src/Manager/PlayerManager.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/GameUtils/Vector3Helper.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/Manager/MateManager.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/GameUtils/NodeUtil.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/Resources/AssetManager.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/GameUtils/GameTools.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/GameUtils/EventManager.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/Game/WallBehav.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/Resources/ResourcesPath.ts",
- "E:/LayaProject/DanceLine/RubikCube/src/Manager/LevelManager.ts"
- ],
- "map": "{\"version\":3,\"file\":\"MateMove.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Game/MateMove.ts\"],\"names\":[],\"mappings\":\"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\"}"
- }
|