7f8c9b51944b9c725557e82ee0abb0ce1bdccd4b 33 KB

1234567891011121314
  1. {
  2. "code": "import { AccountManager } from \"../Net/AccountManager\";\r\nimport Ball from \"../Main/Ball\";\r\nimport { EventManager, StageMode } from \"./EventManager\";\r\nimport { GameTools } from \"./GameTools\";\r\nimport { GameManager } from \"../Main/GameManager\";\r\nimport { ServerManager, BlastToMerge } from \"../Net/ServerManager\";\r\nimport { AudioManager, MusicType } from \"./AudioManager\";\r\nexport class DropRule {\r\n constructor() {\r\n this.EffectName = new Array(\"blue\", \"yellow\", \"purple\", \"green\");\r\n this.EffectArray = [];\r\n this.PrefabName = new Array(\"2\", \"4\", \"8\", \"16\", \"32\", \"64\", \"128\", \"256\", \"512\", \"1024\", \"2048\", \"4096\", \"8192\", \"16384\", \"32768\", \"65536\", \"131072\", \"262144\");\r\n this.Cloned = false;\r\n DropRule.ins = this;\r\n this.Init();\r\n this.InitEffect();\r\n EventManager.StageOn(StageMode.Refresh, this, this.Init);\r\n }\r\n static get Instance() {\r\n if (DropRule.ins) {\r\n return DropRule.ins;\r\n }\r\n else {\r\n return new DropRule();\r\n }\r\n }\r\n Init(_data) {\r\n this.STAGE = Number(AccountManager.Instance.curplayerData.GainAccount(\"stage\"));\r\n let level = AccountManager.Instance.curplayerData.GainCollocation(\"level\");\r\n if (_data) {\r\n for (var key in level) {\r\n if (level[key].id == this.STAGE) {\r\n let Level = level[Number(key)];\r\n this.DropHeight = Number(Level.hight);\r\n this.GoalScore = Number(Level.goal);\r\n this.BallNum = Level.edge.split(\";\");\r\n this.StartNum = Number(Level.start_number);\r\n this.DropNum = Level.drop_number.split(\";\");\r\n let min = Number(this.BallNum[0]);\r\n let minnext = Number(this.BallNum[1]);\r\n this.MinBall = Number(this.PrefabName[min - 1]);\r\n this.MinNextBall = Number(this.PrefabName[minnext - 1]);\r\n }\r\n }\r\n }\r\n else {\r\n for (var key in level) {\r\n if (level[key].id == this.STAGE) {\r\n let Level = level[Number(key)];\r\n this.DropHeight = Number(Level.hight);\r\n this.GoalScore = Number(Level.goal);\r\n this.SizeIndex = Level.index.split(\";\");\r\n console.log(this.SizeIndex);\r\n this.BallNum = Level.edge.split(\";\");\r\n this.StartNum = Number(Level.start_number);\r\n this.DropNum = Level.drop_number.split(\";\");\r\n this.EdgeIndex = Level.edgeindex.split(\";\");\r\n let min = Number(this.BallNum[0]);\r\n let minnext = Number(this.BallNum[this.BallNum.length - 1]);\r\n this.MinBall = Number(this.PrefabName[min - 1]);\r\n this.MinNextBall = Number(this.PrefabName[minnext - 1]);\r\n }\r\n }\r\n }\r\n this.Read();\r\n }\r\n InitEffect() {\r\n for (let i = 0; i < this.EffectName.length; i++) {\r\n this.ReadJson(i);\r\n }\r\n }\r\n ReadJson(i) {\r\n Laya.loader.create(\"Effect/\" + this.EffectName[i] + \".json\", Laya.Handler.create(this, this.creat));\r\n }\r\n creat(Prefab) {\r\n let obj = new Laya.Prefab();\r\n obj.json = Prefab;\r\n this.EffectArray.push(obj);\r\n }\r\n CreateEffect(_score, _pos) {\r\n let effect;\r\n let index;\r\n if (_score == 2 || _score == 16 || _score == 256 || _score == 2048 || _score == 32768 || _score == 262144) {\r\n effect = this.EffectArray[3];\r\n index = 3;\r\n }\r\n else if (_score == 8 || _score == 32 || _score == 4096 || _score == 131072) {\r\n effect = this.EffectArray[1];\r\n index = 1;\r\n }\r\n else if (_score == 64 || _score == 512 || _score == 16384) {\r\n effect = this.EffectArray[2];\r\n index = 2;\r\n }\r\n else if (_score == 4 || _score == 128 || _score == 1024 || _score == 8192 || _score == 65536) {\r\n effect = this.EffectArray[0];\r\n index = 0;\r\n }\r\n let pre = Laya.Pool.getItemByCreateFun(this.EffectName[index], effect.create, effect);\r\n pre.pos(_pos.x, _pos.y);\r\n Laya.stage.addChild(pre);\r\n pre.on(Laya.Event.COMPLETE, this, () => {\r\n pre.removeSelf();\r\n pre.destroy();\r\n });\r\n }\r\n GetBallIndex(_score) {\r\n let num;\r\n for (let i = 0; i < this.PrefabName.length; i++) {\r\n if (_score == Number(this.PrefabName[i])) {\r\n num = i;\r\n }\r\n else if (_score > Number(this.PrefabName[i]) && _score < Number(this.PrefabName[i + 1])) {\r\n num = i;\r\n }\r\n }\r\n return num;\r\n }\r\n GetScore(_score) {\r\n let num;\r\n for (let i = 0; i < this.PrefabName.length; i++) {\r\n if (_score == Number(this.PrefabName[i])) {\r\n num = Number(this.PrefabName[i]);\r\n }\r\n else if (_score > Number(this.PrefabName[i]) && _score < Number(this.PrefabName[i + 1])) {\r\n num = Number(this.PrefabName[i]);\r\n }\r\n }\r\n return num;\r\n }\r\n GetBallSize(_score) {\r\n let num;\r\n let index;\r\n let size = 0;\r\n for (let i = 0; i < this.PrefabName.length; i++) {\r\n if (_score == Number(this.PrefabName[i])) {\r\n num = i;\r\n }\r\n else if (_score > Number(this.PrefabName[i]) && _score < Number(this.PrefabName[i + 1])) {\r\n num = i;\r\n }\r\n }\r\n for (let j = 0; j < this.EdgeIndex.length; j++) {\r\n if (num + 1 == Number(this.EdgeIndex[j])) {\r\n index = Number(this.SizeIndex[j]);\r\n size = this.Size(num + 1, index);\r\n }\r\n }\r\n if (size == 0) {\r\n let cimi = Number(this.EdgeIndex[this.EdgeIndex.length - 1]);\r\n index = Number(this.SizeIndex[this.EdgeIndex.length - 1]);\r\n size = this.Size(cimi, index);\r\n let n = (num + 1) - cimi;\r\n size = size + (n * 5);\r\n }\r\n return size;\r\n }\r\n Size(_index, sizelevel) {\r\n let ballsize;\r\n let ball = AccountManager.Instance.curplayerData.GainCollocation(\"ball\");\r\n for (var key in ball) {\r\n let item = ball[key];\r\n if (_index == item.ball && sizelevel == item.size_level) {\r\n ballsize = Number(item.size);\r\n }\r\n }\r\n return ballsize;\r\n }\r\n CreatBall(_index, size, pos) {\r\n let ball = new Laya.Image();\r\n ball.skin = \"Game/res/Ball/blast\" + _index + \".png\";\r\n ball.anchorX = 0.5;\r\n ball.anchorY = 0.5;\r\n ball.height = size;\r\n ball.width = size;\r\n let collider = ball.addComponent(Laya.CircleCollider);\r\n collider.restitution = AccountManager.Instance.curplayerData.Restitution;\r\n collider.radius = size / 2 + 1.5;\r\n console.log(\"碰撞器半径--\", collider.radius);\r\n let rig = ball.addComponent(Laya.RigidBody);\r\n rig.gravityScale = 3;\r\n let num = new Laya.FontClip();\r\n num.name = \"num\";\r\n num.skin = \"Game/res/Ball/44.png\";\r\n num.anchorX = 0.5;\r\n num.anchorY = 0.5;\r\n num.sheet = \"0123456789\";\r\n let zi = this.PrefabName[_index];\r\n num.value = zi;\r\n ball.addChild(num);\r\n num.centerX = 0;\r\n num.centerY = 0;\r\n let light = new Laya.Image();\r\n light.skin = \"Game/res/Ball/\" + zi + \".png\";\r\n light.anchorX = 0.5;\r\n light.anchorY = 0.5;\r\n light.width = this.LightSize(size);\r\n light.height = this.LightSize(size);\r\n light.name = \"light\";\r\n ball.addChild(light);\r\n light.centerX = 0;\r\n light.centerY = 0;\r\n let script = ball.addComponent(Ball);\r\n ball.pos(pos.x, pos.y);\r\n Laya.timer.once(1, this, () => {\r\n EventManager.StageTrigger(StageMode.Clone, [ball]);\r\n });\r\n this.Cloned = true;\r\n AudioManager.playMusic(MusicType.down);\r\n }\r\n CreatBall2(_index, size, pos) {\r\n let ball = new Laya.Image();\r\n ball.skin = \"Game/res/Ball/blast\" + _index + \".png\";\r\n ball.anchorX = 0.5;\r\n ball.anchorY = 0.5;\r\n ball.height = size;\r\n ball.width = size;\r\n let collider = ball.addComponent(Laya.CircleCollider);\r\n collider.restitution = AccountManager.Instance.curplayerData.Restitution;\r\n if (this.STAGE == 1 && GameManager.Instance.Wave < 3) {\r\n collider.restitution = 0;\r\n }\r\n collider.radius = size / 2 + 1.5;\r\n let rig = ball.addComponent(Laya.RigidBody);\r\n rig.allowRotation = true;\r\n rig.gravityScale = 3;\r\n let num = new Laya.FontClip();\r\n num.name = \"num\";\r\n num.skin = \"Game/res/Ball/44.png\";\r\n num.anchorX = 0.5;\r\n num.anchorY = 0.5;\r\n num.sheet = \"0123456789\";\r\n let zi = this.PrefabName[_index];\r\n num.value = zi;\r\n ball.addChild(num);\r\n num.centerX = 0;\r\n num.centerY = 0;\r\n let light = new Laya.Image();\r\n light.skin = \"Game/res/Ball/\" + zi + \".png\";\r\n light.anchorX = 0.5;\r\n light.anchorY = 0.5;\r\n light.width = this.LightSize(size);\r\n light.height = this.LightSize(size);\r\n light.name = \"light\";\r\n ball.addChild(light);\r\n light.centerX = 0;\r\n light.centerY = 0;\r\n let script = ball.addComponent(Ball);\r\n this.SetPosition(ball, pos);\r\n Laya.timer.once(1, this, () => {\r\n EventManager.StageTrigger(StageMode.Clone, [ball]);\r\n });\r\n AudioManager.playMusic(MusicType.down);\r\n }\r\n SetPosition(_node, _pos) {\r\n _node.pos(_pos.x, _pos.y);\r\n }\r\n LightSize(_size) {\r\n let num;\r\n switch (_size) {\r\n case 65:\r\n num = 79;\r\n break;\r\n case 70:\r\n num = 87;\r\n break;\r\n case 75:\r\n num = 95;\r\n break;\r\n case 80:\r\n num = 100;\r\n break;\r\n case 85:\r\n num = 105;\r\n break;\r\n case 90:\r\n num = 110;\r\n break;\r\n case 95:\r\n num = 117;\r\n break;\r\n case 100:\r\n num = 124;\r\n break;\r\n case 105:\r\n num = 130;\r\n break;\r\n case 110:\r\n num = 136;\r\n break;\r\n case 115:\r\n num = 143;\r\n break;\r\n case 120:\r\n num = 150;\r\n break;\r\n case 125:\r\n num = 152;\r\n break;\r\n case 130:\r\n num = 160;\r\n break;\r\n case 135:\r\n num = 165;\r\n break;\r\n case 140:\r\n num = 174;\r\n break;\r\n case 145:\r\n num = 181;\r\n break;\r\n case 150:\r\n num = 186;\r\n break;\r\n case 155:\r\n num = 192;\r\n break;\r\n case 160:\r\n num = 199;\r\n break;\r\n case 165:\r\n num = 202;\r\n break;\r\n case 170:\r\n num = 210;\r\n break;\r\n case 175:\r\n num = 215;\r\n break;\r\n case 180:\r\n num = 223;\r\n break;\r\n }\r\n return num;\r\n }\r\n FallDown(_time) {\r\n if (!_time) {\r\n let mindrop = Number(this.DropNum[0]);\r\n let maxdrop = Number(this.DropNum[1]);\r\n _time = GameTools.RandomANumber(mindrop, maxdrop + 1);\r\n }\r\n let min = Number(this.BallNum[0]);\r\n let max = Number(this.BallNum[this.BallNum.length - 1]);\r\n let index;\r\n let size;\r\n for (let j = 0; j < _time; j++) {\r\n let num = GameTools.RandomANumber(min, max + 1);\r\n for (let i = 0; i < this.BallNum.length; i++) {\r\n if (num == Number(this.BallNum[i])) {\r\n index = Number(this.SizeIndex[i]);\r\n size = this.Size(num, index);\r\n }\r\n }\r\n let X = GameTools.RandomANumber(100, 500);\r\n let pos = new Laya.Vector2(X, 30);\r\n this.CreatBall2(num - 1, size, pos);\r\n }\r\n }\r\n GuideFallDown() {\r\n GameManager.Instance.CheckHeight = false;\r\n let num;\r\n let shuliang;\r\n let gaoduxin;\r\n if (GameManager.Instance.Wave == 1) {\r\n shuliang = 2;\r\n num = 1;\r\n }\r\n else if (GameManager.Instance.Wave == 2) {\r\n shuliang = 2;\r\n num = 2;\r\n }\r\n else if (GameManager.Instance.Wave == 3) {\r\n shuliang = 6;\r\n num = 1;\r\n }\r\n else if (GameManager.Instance.Wave == 4) {\r\n shuliang = 12;\r\n num = 1;\r\n }\r\n else if (GameManager.Instance.Wave == 5) {\r\n shuliang = 6;\r\n num = 2;\r\n }\r\n else if (GameManager.Instance.Wave == 6) {\r\n shuliang = 12;\r\n num = 2;\r\n }\r\n else {\r\n GameManager.Instance.CheckHeight = true;\r\n this.DropHeight = AccountManager.Instance.curplayerData.GuideHeight;\r\n let mindrop = Number(this.DropNum[0]);\r\n let maxdrop = Number(this.DropNum[1]);\r\n num = GameTools.RandomANumber(mindrop, maxdrop + 1);\r\n }\r\n let score = Number(this.PrefabName[num - 1]);\r\n let index = this.GetBallIndex(score);\r\n let size = this.GetBallSize(score);\r\n for (let j = 0; j < shuliang; j++) {\r\n let X = GameTools.RandomANumber(100, 500);\r\n let pos = new Laya.Vector2(X, 30);\r\n this.CreatBall2(num - 1, size, pos);\r\n }\r\n }\r\n RecoverScene() {\r\n for (let i = 0; i < this.progress.length - 3; i++) {\r\n let item = this.progress[i];\r\n this.CreatBall2(Number(item.index) - 1, Number(item.size), new Laya.Vector2(Number(item.pos.x), Number(item.pos.y)));\r\n }\r\n }\r\n Read() {\r\n if (this.STAGE > 1) {\r\n var args = [{ \"stage\": \"0\" }];\r\n ServerManager.Instance.SendHttp(BlastToMerge.GetProgress, args, Laya.Handler.create(this, (res) => {\r\n let json = JSON.parse(res.user_game.detail);\r\n this.progress = json;\r\n if (this.progress.length > 1) {\r\n let items = this.progress[this.progress.length - 2];\r\n let _score = Number(items.jindu);\r\n GameManager.Instance.ScoreProgress = _score;\r\n this.SizeIndex = this.progress[this.progress.length - 1].sizeindex;\r\n this.EdgeIndex = this.progress[this.progress.length - 3].edgeindex;\r\n }\r\n console.log(\"获取进度成功\");\r\n }), Laya.Handler.create(this, () => {\r\n console.log(\"获取进度失败\");\r\n }));\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=DropRule.js.map",
  3. "references": [
  4. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Net/AccountManager.ts",
  5. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Main/Ball.ts",
  6. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Tool/EventManager.ts",
  7. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Tool/GameTools.ts",
  8. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Main/GameManager.ts",
  9. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Net/ServerManager.ts",
  10. "C:/Users/Administrator/Desktop/2048/2048_laya/src/Tool/AudioManager.ts"
  11. ],
  12. "map": "{\"version\":3,\"file\":\"DropRule.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Tool/DropRule.ts\"],\"names\":[],\"mappings\":\"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\"}"
  13. }