daf4f6fee575cd7fec8c4d91ee48be5bcd3a1139 19 KB

1234567891011121314
  1. {
  2. "code": "import { GameManager } from \"./GameManager\";\r\nimport { EventManager, PropEffecf } from \"../Tool/EventManager\";\r\nvar Vector2 = Laya.Vector2;\r\nimport { DropRule } from \"../Tool/DropRule\";\r\nimport InGameView from \"../View/InGameView\";\r\nexport default class Ball extends Laya.Script {\r\n constructor() {\r\n super();\r\n this.TargetArray = [];\r\n this.moved = false;\r\n this.mark = false;\r\n this.clear = false;\r\n this.score = 0;\r\n Ball.ins = this;\r\n }\r\n static get Instance() {\r\n if (Ball.ins) {\r\n return Ball.ins;\r\n }\r\n else {\r\n return new Ball();\r\n }\r\n }\r\n onAwake() {\r\n this.Light = this.owner.getChildByName(\"light\");\r\n this.Light.visible = false;\r\n this.owner.on(Laya.Event.CLICK, this, this.ClickBall);\r\n EventManager.EventOn(PropEffecf.DOUBLE, this, this.ClickDouble);\r\n EventManager.EventOn(PropEffecf.NONE, this, this.ClickNone);\r\n EventManager.EventOn(PropEffecf.HAMMER, this, this.ClickHammer);\r\n let score = this.owner.getChildByName(\"num\");\r\n this.score = Number(score.value);\r\n }\r\n onUpdate() {\r\n this.CheckLight();\r\n if (this.clear) {\r\n let _rig = this.owner.getComponent(Laya.RigidBody);\r\n let _collider = this.owner.getComponent(Laya.CircleCollider);\r\n _collider.isSensor = true;\r\n _collider.enabled = false;\r\n _rig.enabled = false;\r\n this.Move(GameManager.Instance.TargetPosition);\r\n this.moved = true;\r\n }\r\n }\r\n CheckLight() {\r\n if (this.TargetArray.length > 0) {\r\n let num = 0;\r\n for (let i = 0; i < this.TargetArray.length; i++) {\r\n let ball = this.TargetArray[i];\r\n if (ball.destroyed) {\r\n num++;\r\n }\r\n }\r\n if (num == this.TargetArray.length) {\r\n this.Light.visible = false;\r\n }\r\n else {\r\n this.Light.visible = true;\r\n }\r\n }\r\n else {\r\n this.Light.visible = false;\r\n }\r\n }\r\n ClickNone() {\r\n this.owner.off(Laya.Event.CLICK, this, this.Hammer);\r\n this.owner.off(Laya.Event.CLICK, this, this.Double);\r\n this.owner.on(Laya.Event.CLICK, this, this.ClickBall);\r\n }\r\n ClickDouble() {\r\n this.owner.off(Laya.Event.CLICK, this, this.ClickBall);\r\n this.owner.off(Laya.Event.CLICK, this, this.Hammer);\r\n this.owner.on(Laya.Event.CLICK, this, this.Double);\r\n }\r\n Double() {\r\n console.log(\"点击到了----\");\r\n let num = this.score * 2;\r\n let owner = this.owner;\r\n let _position = new Laya.Vector2(owner.x, owner.y);\r\n let _rig = this.owner.getComponent(Laya.RigidBody);\r\n let _collider = this.owner.getComponent(Laya.CircleCollider);\r\n _collider.enabled = false;\r\n _rig.enabled = false;\r\n this.owner.removeSelf();\r\n this.owner.destroy();\r\n let id = DropRule.Instance.GetBallIndex(num);\r\n let size = DropRule.Instance.GetBallSize(num);\r\n GameManager.Instance.ScoreProgress += num;\r\n DropRule.Instance.CreatBall(id, size, _position);\r\n let propnum = InGameView.Instance.doublebtn.getChildByName(\"num\");\r\n let prop = Number(propnum.text) - 1;\r\n propnum.text = prop.toString();\r\n EventManager.EventTrigger(PropEffecf.NONE);\r\n }\r\n ClickHammer() {\r\n this.owner.off(Laya.Event.CLICK, this, this.ClickBall);\r\n this.owner.off(Laya.Event.CLICK, this, this.Double);\r\n this.owner.on(Laya.Event.CLICK, this, this.Hammer);\r\n }\r\n Hammer() {\r\n let num = this.score;\r\n let owner = this.owner;\r\n GameManager.Instance.ScoreProgress += num;\r\n let _rig = this.owner.getComponent(Laya.RigidBody);\r\n let _collider = this.owner.getComponent(Laya.CircleCollider);\r\n _collider.enabled = false;\r\n _rig.enabled = false;\r\n this.owner.removeSelf();\r\n this.owner.destroy();\r\n let propnum = InGameView.Instance.hammerbtn.getChildByName(\"num\");\r\n let prop = Number(propnum.text) - 1;\r\n propnum.text = prop.toString();\r\n EventManager.EventTrigger(PropEffecf.NONE);\r\n InGameView.Instance.EffectMode(false);\r\n }\r\n onDestroy() {\r\n this.owner.offAll();\r\n EventManager.EventOff(PropEffecf.DOUBLE, this, this.ClickDouble);\r\n EventManager.EventOff(PropEffecf.NONE, this, this.ClickNone);\r\n EventManager.EventOff(PropEffecf.HAMMER, this, this.ClickHammer);\r\n }\r\n onTriggerEnter(other) {\r\n let targetparent = other.owner;\r\n if (targetparent.name != \"RightCollider\" && targetparent.name != \"LeftCollider\" && targetparent.name != \"BottomCollider\") {\r\n let num = targetparent.getChildByName(\"num\");\r\n let ownernum = this.owner.getChildByName(\"num\");\r\n if (Number(num.value) == Number(ownernum.value)) {\r\n this.TargetArray.push(targetparent);\r\n }\r\n }\r\n }\r\n onTriggerStay(other) {\r\n let targetparent = other.owner;\r\n if (targetparent.name != \"RightCollider\" && targetparent.name != \"LeftCollider\" && targetparent.name != \"BottomCollider\") {\r\n let num = targetparent.getChildByName(\"num\");\r\n let ownernum = this.owner.getChildByName(\"num\");\r\n if (Number(num.value) == Number(ownernum.value)) {\r\n this.TargetArray.push(targetparent);\r\n }\r\n }\r\n }\r\n onTriggerExit(other) {\r\n let targetparent = other.owner;\r\n if (targetparent && !targetparent.destroyed) {\r\n if (targetparent.name != \"RightCollider\" && targetparent.name != \"LeftCollider\" && targetparent.name != \"BottomCollider\") {\r\n for (let i = this.TargetArray.length - 1; i > -1; i--) {\r\n if (this.TargetArray[i] == targetparent) {\r\n this.TargetArray.splice(i, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n Move(_position) {\r\n if (!this.moved) {\r\n let owner = this.owner;\r\n let move = Laya.Tween.to(this.owner, {\r\n x: _position.x, y: _position.y, update: new Laya.Handler(this, function () {\r\n })\r\n }, 200, Laya.Ease.linearInOut, Laya.Handler.create(this, () => {\r\n move.clear();\r\n this.owner.removeSelf();\r\n this.owner.destroy();\r\n if (!DropRule.Instance.Cloned) {\r\n let num = DropRule.Instance.GetBallIndex(GameManager.Instance.ScoreRecord);\r\n let size = DropRule.Instance.GetBallSize(GameManager.Instance.ScoreRecord);\r\n let score = DropRule.Instance.GetScore(GameManager.Instance.ScoreRecord);\r\n let ball = DropRule.Instance.CreatBall(num, size, GameManager.Instance.TargetPosition);\r\n GameManager.Instance.ScoreProgress += score;\r\n }\r\n }));\r\n }\r\n }\r\n ClickBall() {\r\n let owner = this.owner;\r\n for (let j = this.TargetArray.length - 1; j > -1; j--) {\r\n if (this.TargetArray[j].destroyed || this.TargetArray[j] == null) {\r\n this.TargetArray.splice(j, 1);\r\n }\r\n }\r\n for (let i = 0; i < this.TargetArray.length; i++) {\r\n let num = this.TargetArray[i].getChildByName(\"num\");\r\n }\r\n DropRule.Instance.Cloned = false;\r\n GameManager.Instance.ScoreRecord = 0;\r\n GameManager.Instance.TargetPosition = new Vector2(owner.x, owner.y);\r\n this.DisPose(owner);\r\n }\r\n DisPose(_node) {\r\n let ball = _node.getComponent(Ball);\r\n if (ball.TargetArray.length > 0) {\r\n if (!ball.mark) {\r\n let ownerscore = ball.score;\r\n GameManager.Instance.ScoreRecord += ownerscore;\r\n ball.mark = true;\r\n }\r\n ball.clear = true;\r\n for (let i = 0; i < ball.TargetArray.length; i++) {\r\n if (ball.TargetArray[i].getComponent(Ball).mark)\r\n continue;\r\n let score = ball.TargetArray[i].getChildByName(\"num\");\r\n GameManager.Instance.ScoreRecord += Number(score.value);\r\n ball.TargetArray[i].getComponent(Ball).mark = true;\r\n ball.TargetArray[i].getComponent(Ball).clear = true;\r\n let target = ball.TargetArray[i];\r\n let ball2 = target.getComponent(Ball);\r\n if (ball2.TargetArray.length > 0) {\r\n for (let j = 0; j < ball2.TargetArray.length; j++) {\r\n if (ball2.TargetArray[j] == _node) {\r\n continue;\r\n }\r\n ball2.clear = true;\r\n ball2.mark = true;\r\n this.DisPose(ball2.TargetArray[j]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=Ball.js.map",
  3. "references": [
  4. "E:/LayaProject/2048_laya/src/Tool/GameTools.ts",
  5. "E:/LayaProject/2048_laya/src/Main/GameManager.ts",
  6. "E:/LayaProject/2048_laya/src/Tool/EventManager.ts",
  7. "E:/LayaProject/2048_laya/src/Main/GameControl.ts",
  8. "E:/LayaProject/2048_laya/src/Tool/GamePool.ts",
  9. "E:/LayaProject/2048_laya/src/Tool/DropRule.ts",
  10. "E:/LayaProject/2048_laya/src/View/InGameView.ts"
  11. ],
  12. "map": "{\"version\":3,\"file\":\"Ball.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Main/Ball.ts\"],\"names\":[],\"mappings\":\"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\"}"
  13. }