bundle.js 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224
  1. (function () {
  2. 'use strict';
  3. class GameConfig {
  4. constructor() { }
  5. static init() {
  6. var reg = Laya.ClassUtils.regClass;
  7. }
  8. }
  9. GameConfig.width = 640;
  10. GameConfig.height = 1136;
  11. GameConfig.scaleMode = "fixedwidth";
  12. GameConfig.screenMode = "none";
  13. GameConfig.alignV = "top";
  14. GameConfig.alignH = "left";
  15. GameConfig.startScene = "InGameView.scene";
  16. GameConfig.sceneRoot = "";
  17. GameConfig.debug = false;
  18. GameConfig.stat = false;
  19. GameConfig.physicsDebug = false;
  20. GameConfig.exportSceneToJson = true;
  21. GameConfig.init();
  22. class ResDic {
  23. constructor() {
  24. this._container = {};
  25. this._length = 0;
  26. }
  27. get container() {
  28. return this._container;
  29. }
  30. get size() {
  31. return this._length;
  32. }
  33. set(key, value) {
  34. if (!this._container.hasOwnProperty(key)) {
  35. this._length++;
  36. }
  37. this._container[key] = value;
  38. }
  39. has(key) {
  40. return this._container.hasOwnProperty(key) ? true : false;
  41. }
  42. get(key) {
  43. if (this._container.hasOwnProperty(key)) {
  44. return this._container[key];
  45. }
  46. else {
  47. return undefined;
  48. }
  49. }
  50. delete(key) {
  51. if (this._container.hasOwnProperty(key)) {
  52. delete this._container[key];
  53. this._length--;
  54. }
  55. }
  56. clear() {
  57. this._container = {};
  58. this._length = 0;
  59. }
  60. }
  61. var EventState;
  62. (function (EventState) {
  63. EventState[EventState["LoadComplete"] = 0] = "LoadComplete";
  64. EventState[EventState["SceneInit"] = 1] = "SceneInit";
  65. EventState[EventState["StageInit"] = 2] = "StageInit";
  66. EventState[EventState["StageCreateComplete"] = 3] = "StageCreateComplete";
  67. EventState[EventState["AnimatorEnd"] = 4] = "AnimatorEnd";
  68. })(EventState || (EventState = {}));
  69. var StageState;
  70. (function (StageState) {
  71. StageState[StageState["Win"] = 0] = "Win";
  72. StageState[StageState["Lose"] = 1] = "Lose";
  73. StageState[StageState["Start"] = 2] = "Start";
  74. StageState[StageState["StageCreateComPlete"] = 3] = "StageCreateComPlete";
  75. StageState[StageState["Over"] = 4] = "Over";
  76. })(StageState || (StageState = {}));
  77. class EventManager {
  78. static EventOn(_mode, caller, fun, args = []) {
  79. EventManager.instance.on(EventState[_mode], caller, fun, args);
  80. }
  81. static EventOff(_mode, caller, fun, args = []) {
  82. EventManager.instance.off(EventState[_mode], caller, fun);
  83. }
  84. static EventTrigger(_mode, args = []) {
  85. EventManager.instance.event(EventState[_mode], args);
  86. }
  87. static StageOn(_mode, caller, fun, args = []) {
  88. EventManager.instance.on(StageState[_mode], caller, fun, args);
  89. }
  90. static StageOff(_mode, caller, fun, args = []) {
  91. EventManager.instance.off(StageState[_mode], caller, fun);
  92. }
  93. static StageTrigger(_mode, args = []) {
  94. EventManager.instance.event(StageState[_mode], args);
  95. }
  96. }
  97. EventManager.instance = new Laya.EventDispatcher();
  98. var Vector3 = Laya.Vector3;
  99. class Transform3DHelper {
  100. static getForward(transform) {
  101. let forward = new Vector3(0, 0, 0);
  102. transform.getForward(forward);
  103. Laya.Vector3.scale(forward, -1, forward);
  104. Laya.Vector3.normalize(forward, forward);
  105. return forward;
  106. }
  107. }
  108. class GameTools {
  109. constructor() {
  110. GameTools.ins = this;
  111. }
  112. static get Instance() {
  113. if (GameTools.ins) {
  114. return GameTools.ins;
  115. }
  116. else {
  117. return new GameTools();
  118. }
  119. }
  120. lerp(form, to, t) {
  121. if (t <= 0) {
  122. return form;
  123. }
  124. else if (t >= 1) {
  125. return to;
  126. }
  127. var a = t * to + (1 - t) * form;
  128. return a;
  129. }
  130. SetCollider(setNode, CollisionGroup) {
  131. var numchild = setNode.numChildren;
  132. for (var i = 0; i < setNode.numChildren; i++) {
  133. var numchild2 = setNode.getChildAt(i).numChildren;
  134. if (numchild2 > 1) {
  135. this.SetCollider(setNode.getChildAt(i), CollisionGroup);
  136. }
  137. var physicsCollider = setNode.getChildAt(i).getComponent(Laya.PhysicsCollider);
  138. if (physicsCollider) {
  139. physicsCollider.collisionGroup = CollisionGroup;
  140. }
  141. }
  142. }
  143. EnemySetCollider(setNode, collisionGroup) {
  144. var collider = setNode.getChildByName("collider");
  145. var physicsCollider = setNode.getComponent(Laya.PhysicsCollider);
  146. if (physicsCollider) {
  147. physicsCollider.collisionGroup = collisionGroup;
  148. }
  149. }
  150. static RandomNumber(from, to) {
  151. if (from >= to) {
  152. return 0;
  153. }
  154. var size = to - from;
  155. var curNumber = Math.random() * size + from;
  156. return curNumber;
  157. }
  158. static RandomANumber(from, to) {
  159. if (from >= to) {
  160. return 0;
  161. }
  162. var size = to - from;
  163. var curNumber = Math.random() * size + from;
  164. return Math.floor(curNumber);
  165. }
  166. static GetMoney(_num, _pos = null, _completeHandle = null) {
  167. if (_num == 0)
  168. return;
  169. var fafaafsfa = new Laya.Box;
  170. fafaafsfa.width = 400;
  171. fafaafsfa.height = 100;
  172. fafaafsfa.pivotX = fafaafsfa.width / 2;
  173. fafaafsfa.pivotY = fafaafsfa.height / 2;
  174. if (_pos == null) {
  175. _pos = new Laya.Vector2(Laya.stage.width / 2, Laya.stage.height / 2);
  176. }
  177. fafaafsfa.pos(_pos.x, _pos.y);
  178. var aafafaffa = new Laya.Image;
  179. aafafaffa.skin = "game/qiandao_1_7.png";
  180. aafafaffa.width = 60;
  181. aafafaffa.height = 60;
  182. aafafaffa.left = 50;
  183. aafafaffa.y = 10;
  184. fafaafsfa.addChild(aafafaffa);
  185. var faasfafsafs = new Laya.Text;
  186. faasfafsafs.width = 300;
  187. faasfafsafs.height = 50;
  188. faasfafsafs.align = "center";
  189. faasfafsafs.valign = "middle";
  190. faasfafsafs.font = "Microsoft YaHei";
  191. faasfafsafs.fontSize = 40;
  192. faasfafsafs.color = "#FFFFFF";
  193. faasfafsafs.bold = true;
  194. faasfafsafs.font = "Microsoft YaHei";
  195. faasfafsafs.text = "金币 +" + _num;
  196. faasfafsafs.x = 60;
  197. faasfafsafs.y = 10;
  198. fafaafsfa.addChild(faasfafsafs);
  199. Laya.stage.addChild(fafaafsfa);
  200. var faasfsaf = Laya.Tween.to(fafaafsfa, { y: fafaafsfa.y - 200 }, 1500, Laya.Ease.expoInOut, Laya.Handler.create(this, () => {
  201. faasfsaf.clear();
  202. fafaafsfa.destroy();
  203. if (_completeHandle) {
  204. _completeHandle.run();
  205. }
  206. }), 100);
  207. }
  208. static TweenText(faafssfafsa, _hight, _completeHandle = null, hide = true, _duration = 500) {
  209. var afasafsafsfa = new Laya.Text();
  210. afasafsafsfa.width = faafssfafsa.size.x;
  211. afasafsafsfa.height = faafssfafsa.size.y;
  212. afasafsafsfa.align = "center";
  213. afasafsafsfa.valign = "middle";
  214. afasafsafsfa.font = "Microsoft YaHei";
  215. afasafsafsfa.fontSize = faafssfafsa.fontSize;
  216. afasafsafsfa.pivotX = afasafsafsfa.width / 2;
  217. afasafsafsfa.pivotY = afasafsafsfa.height / 2;
  218. afasafsafsfa.color = "#5ad122";
  219. afasafsafsfa.bold = true;
  220. afasafsafsfa.stroke = 5;
  221. afasafsafsfa.strokeColor = "#ffffff";
  222. if (faafssfafsa.color) {
  223. faafssfafsa.color = faafssfafsa.color;
  224. }
  225. afasafsafsfa.text = faafssfafsa.message;
  226. afasafsafsfa.zOrder = 1;
  227. Laya.stage.addChildAt(afasafsafsfa, Laya.stage.numChildren - 1);
  228. afasafsafsfa.pos(faafssfafsa.pos.x, faafssfafsa.pos.y);
  229. var tween = Laya.Tween.to(afasafsafsfa, { y: afasafsafsfa.y - _hight, update: new Laya.Handler(this, function () {
  230. }) }, _duration, Laya.Ease.expoInOut, Laya.Handler.create(this, function () {
  231. tween.clear();
  232. if (hide) {
  233. afasafsafsfa.destroy();
  234. }
  235. if (_completeHandle) {
  236. _completeHandle.run();
  237. }
  238. }));
  239. if (hide) {
  240. Laya.Tween.to(afasafsafsfa, { alpha: 0.4 }, 500);
  241. }
  242. return afasafsafsfa;
  243. }
  244. static StationTweenText(faafssfafsa, _hight, _completeHandle = null, hide = true, _duration = 500) {
  245. var afasafsafsfa = new Laya.Text();
  246. afasafsafsfa.width = faafssfafsa.size.x;
  247. afasafsafsfa.height = faafssfafsa.size.y;
  248. afasafsafsfa.align = "center";
  249. afasafsafsfa.valign = "middle";
  250. afasafsafsfa.font = "Microsoft YaHei";
  251. afasafsafsfa.fontSize = 50;
  252. afasafsafsfa.pivotX = afasafsafsfa.width / 2;
  253. afasafsafsfa.pivotY = afasafsafsfa.height / 2;
  254. afasafsafsfa.color = "#5ad122";
  255. afasafsafsfa.bold = true;
  256. afasafsafsfa.stroke = 5;
  257. afasafsafsfa.strokeColor = "#ffffff";
  258. if (faafssfafsa.color) {
  259. faafssfafsa.color = faafssfafsa.color;
  260. }
  261. afasafsafsfa.text = faafssfafsa.message;
  262. afasafsafsfa.zOrder = 1;
  263. Laya.stage.addChildAt(afasafsafsfa, Laya.stage.numChildren - 1);
  264. afasafsafsfa.pos(faafssfafsa.pos.x, faafssfafsa.pos.y);
  265. var tween = Laya.Tween.to(afasafsafsfa, { y: afasafsafsfa.y - _hight, update: new Laya.Handler(this, function () {
  266. }) }, _duration, Laya.Ease.expoInOut, Laya.Handler.create(this, function () {
  267. tween.clear();
  268. if (hide) {
  269. afasafsafsfa.destroy();
  270. }
  271. if (_completeHandle) {
  272. _completeHandle.run();
  273. }
  274. }));
  275. if (hide) {
  276. Laya.Tween.to(afasafsafsfa, { alpha: 0.4 }, 10000);
  277. }
  278. return afasafsafsfa;
  279. }
  280. static tweenMove(transform, targPos, delay, ease, complete) {
  281. let curPos = transform.position.clone();
  282. return Laya.Tween.to(curPos, {
  283. x: targPos.x,
  284. y: targPos.y,
  285. z: targPos.z,
  286. update: new Laya.Handler(this, () => {
  287. transform.position = curPos.clone();
  288. })
  289. }, delay, ease, complete);
  290. }
  291. static tweenRotate(transform, targEuler, delay, ease, complete) {
  292. let curEuler = transform.rotationEuler.clone();
  293. return Laya.Tween.to(curEuler, {
  294. x: targEuler.x,
  295. y: targEuler.y,
  296. z: targEuler.z,
  297. update: new Laya.Handler(this, () => {
  298. transform.rotationEuler = curEuler.clone();
  299. })
  300. }, delay, ease, complete);
  301. }
  302. }
  303. class AssetManager {
  304. constructor() {
  305. this.Player = new ResDic();
  306. this.Enemy = new ResDic();
  307. this.Horse = new ResDic();
  308. this.Prop = new ResDic();
  309. this.Stone = new ResDic();
  310. this.Tree = new ResDic();
  311. AssetManager.ins = this;
  312. EventManager.EventOn(EventState.LoadComplete, this, this.Init);
  313. }
  314. static get Instance() {
  315. if (AssetManager.ins) {
  316. return AssetManager.ins;
  317. }
  318. else {
  319. return new AssetManager();
  320. }
  321. }
  322. Init() {
  323. this.maincamera = this.mainscene.getChildByName("Main Camera");
  324. this.Plane = this.mainscene.getChildByName("Plane");
  325. GameTools.Instance.SetCollider(this.Plane, 100);
  326. EventManager.EventTrigger(EventState.SceneInit);
  327. }
  328. }
  329. class ResourcesPath {
  330. }
  331. ResourcesPath.MainScene = "Game/res/MainScene/LayaScene_Mainscene/Conventional/Mainscene.ls";
  332. ResourcesPath.Horse = [
  333. "Game/res/Role/LayaScene_Role/Conventional/Horse.lh"
  334. ];
  335. ResourcesPath.Player = [
  336. "Game/res/Role/LayaScene_Role/Conventional/player.lh"
  337. ];
  338. ResourcesPath.Enemy = [
  339. "Game/res/Role/LayaScene_Role/Conventional/enemy.lh"
  340. ];
  341. ResourcesPath.Prop = "Game/res/Prop/LayaScene_Prop/Conventional/Prop.lh";
  342. var Sprite3D = Laya.Sprite3D;
  343. var Vector3$1 = Laya.Vector3;
  344. class modelConfig {
  345. constructor(model) {
  346. this.modelcur = model;
  347. this.modelPos = model.transform.position.clone();
  348. this.modelRot = model.transform.rotation.clone();
  349. this.modelSca = model.transform.scale.clone();
  350. }
  351. }
  352. class GamePool {
  353. constructor() {
  354. this.modelpool = {};
  355. this.maxAcount = 30;
  356. GamePool.Ins = this;
  357. }
  358. static get Instance() {
  359. if (GamePool.Ins) {
  360. return GamePool.Ins;
  361. }
  362. else {
  363. return new GamePool();
  364. }
  365. }
  366. GetModel(_model, title) {
  367. var poolname = title + _model.name;
  368. if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
  369. if (this.modelpool[poolname].length > 0) {
  370. var model1 = this.modelpool[poolname][0];
  371. this.modelpool[poolname].splice(0, 1);
  372. if (model1.modelcur.destroyed) {
  373. model1.modelcur = Sprite3D.instantiate(_model);
  374. if (!model1.modelcur.active) {
  375. model1.modelcur.active = true;
  376. }
  377. }
  378. model1.modelcur.active = true;
  379. model1.modelcur.transform.position = _model.transform.position.clone();
  380. model1.modelcur.transform.rotation = _model.transform.rotation.clone();
  381. model1.modelcur.transform.scale = _model.transform.scale.clone();
  382. return model1.modelcur;
  383. }
  384. else {
  385. var model = Sprite3D.instantiate(_model);
  386. model.active = true;
  387. return model;
  388. }
  389. }
  390. else {
  391. var model = Sprite3D.instantiate(_model);
  392. model.active = true;
  393. return model;
  394. }
  395. }
  396. RecoveryModel(model, title = "", modelstate = false) {
  397. if (model.destroyed) {
  398. return;
  399. }
  400. if (!modelstate && model.active == false) {
  401. return;
  402. }
  403. var poolname = title + model.name;
  404. if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
  405. var modelnum = this.modelpool[poolname];
  406. if (modelnum.length > this.maxAcount) {
  407. model.destroy();
  408. return;
  409. }
  410. else {
  411. modelnum.push(new modelConfig(model));
  412. }
  413. }
  414. else {
  415. modelnum = [];
  416. modelnum.push(new modelConfig(model));
  417. this.modelpool[poolname] = modelnum;
  418. }
  419. model.transform.position = new Vector3$1(0, 0, -10000);
  420. model.removeSelf();
  421. model.active = false;
  422. }
  423. ResetsModelPool() {
  424. for (var Key in this.modelpool) {
  425. var model = this.modelpool[Key];
  426. for (var i = 0; i < model.length; i++) {
  427. model[i].modelcur.destroy();
  428. }
  429. }
  430. this.modelpool = {};
  431. }
  432. }
  433. var Vector3$2 = Laya.Vector3;
  434. var CharacterState;
  435. (function (CharacterState) {
  436. CharacterState[CharacterState["Run"] = 0] = "Run";
  437. CharacterState[CharacterState["Idle"] = 1] = "Idle";
  438. CharacterState[CharacterState["Die"] = 2] = "Die";
  439. CharacterState[CharacterState["Win"] = 3] = "Win";
  440. CharacterState[CharacterState["Shoot"] = 4] = "Shoot";
  441. })(CharacterState || (CharacterState = {}));
  442. class Runner extends Laya.Script3D {
  443. constructor() {
  444. super();
  445. this.m_raydistance = 1000;
  446. this.canmove = false;
  447. this._speed = 1;
  448. this._press = false;
  449. this.DownHit = new Laya.HitResult();
  450. this.FowardHit = new Laya.HitResult();
  451. this.curspeed = 0;
  452. this.currotV = new Vector3$2();
  453. this.currot = new Laya.Quaternion;
  454. this.NormalizeSpeed = new Vector3$2();
  455. this.curpos = new Vector3$2();
  456. this.offest = new Vector3$2();
  457. }
  458. static get Instance() {
  459. if (Runner.ins) {
  460. return Runner.ins;
  461. }
  462. else {
  463. return new Runner();
  464. }
  465. }
  466. onAwake() {
  467. this.m_player = this.owner;
  468. this.m_animator = this.owner.getComponent(Laya.Animator);
  469. this.m_arrowpos = this.owner.getChildByName("arrowpos");
  470. this.m_raypos = this.owner.getChildByName("raypos");
  471. this.m_archerpos = this.owner.getChildByName("archerpos");
  472. this.m_horseanimator = this.owner.getChildByName("Horse").getComponent(Laya.Animator);
  473. this.ChangeState(CharacterState.Idle);
  474. EventManager.StageOn(StageState.Start, this, this.Begin);
  475. }
  476. Begin() {
  477. this.canmove = true;
  478. this.ChangeState(CharacterState.Run);
  479. }
  480. onUpdate() {
  481. if (this.m_animator.getCurrentAnimatorPlayState(0).normalizedTime >= 1) {
  482. this.m_animator.play("Idle");
  483. GameManager.Instance.CreatArrow(this.m_arrowpos.transform.position.clone(), this.m_arrowpos.transform.rotationEuler.clone(), this.m_arrowpos);
  484. }
  485. if (this.canmove) {
  486. if (this._press) {
  487. this._speed = 2;
  488. }
  489. this.Move(new Vector3$2(0, 0, 1), this._speed);
  490. }
  491. this.RayCheck();
  492. }
  493. MoveX(_speed) {
  494. _speed *= 0.07;
  495. this.m_player.transform.translate(new Vector3$2(_speed, 0, 0));
  496. }
  497. TurnDir(_dir) {
  498. if (_dir.x != 0) {
  499. Vector3$2.lerp(this.currotV, _dir, 0.35, _dir);
  500. this.currotV = _dir;
  501. Laya.Quaternion.rotationLookAt(_dir, new Vector3$2(0, 1, 0), this.currot);
  502. Laya.Quaternion.slerp(this.m_player.transform.rotation, this.currot, 0.025, this.currot);
  503. this.currot = new Laya.Quaternion(0, this.currot.y, 0);
  504. this.m_player.transform.rotation = this.currot;
  505. }
  506. }
  507. Move(_dir, _speed) {
  508. var sp = GameTools.Instance.lerp(this.curspeed, _speed, 0.1);
  509. this.curspeed = sp;
  510. Vector3$2.scale(_dir, this.curspeed, this.offest);
  511. Vector3$2.add(this.m_player.transform.position, this.offest, this.curpos);
  512. Vector3$2.lerp(this.m_player.transform.position, this.curpos, 0.15, this.curpos);
  513. this.curpos = new Vector3$2(this.curpos.x, this.curpos.y, this.curpos.z);
  514. this.m_player.transform.position = this.curpos;
  515. }
  516. ChangeState(_state) {
  517. if (this.m_characterstate == _state)
  518. return;
  519. this.m_characterstate = _state;
  520. switch (this.m_characterstate) {
  521. case CharacterState.Idle:
  522. this.Idle();
  523. break;
  524. case CharacterState.Run:
  525. this.Run();
  526. break;
  527. case CharacterState.Die:
  528. this.Die();
  529. break;
  530. case CharacterState.Win:
  531. this.Win();
  532. break;
  533. case CharacterState.Shoot:
  534. this.Shoot();
  535. break;
  536. }
  537. }
  538. Idle() {
  539. this.m_animator.play("Idle");
  540. this.m_horseanimator.play("Horse_Idle");
  541. }
  542. Run() {
  543. this.m_animator.play("Idle");
  544. this.m_horseanimator.play("Horse_Run");
  545. }
  546. Die() {
  547. }
  548. Win() {
  549. }
  550. Shoot() {
  551. this.m_animator.play("aimshoot");
  552. this.m_animator.play("Horse_Run");
  553. }
  554. RayCheck() {
  555. if (this.DownRayCheck) {
  556. this.m_player.transform.position = new Vector3$2(this.m_player.transform.position.x, this.DownHit.point.y, this.m_player.transform.position.z);
  557. }
  558. if (this.FowardRayCheck) {
  559. console.log("射线打到了---", this.FowardHit.collider.owner.name);
  560. this.CrashBarrier();
  561. }
  562. }
  563. CrashBarrier() {
  564. var target = this.FowardHit.collider.owner;
  565. if (target.name == "") ;
  566. else if (target.name == "fire") ;
  567. else if (target.name == "fence") ;
  568. else if (target.name == "") ;
  569. }
  570. get DownRayCheck() {
  571. var isDownHit = false;
  572. var startPos = new Vector3$2(this.m_player.transform.position.x, this.m_player.transform.position.y + 1.5, this.m_player.transform.position.z + 0.5);
  573. var direction = new Vector3$2(0, -1, 0);
  574. var DownRay = new Laya.Ray(startPos, direction);
  575. if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.DownHit, 100)) {
  576. if (this.DownHit.collider.collisionGroup == 100) {
  577. isDownHit = true;
  578. }
  579. }
  580. return isDownHit;
  581. }
  582. get FowardRayCheck() {
  583. var isFowardHit = false;
  584. var startPos = new Vector3$2(this.m_player.transform.position.x, this.m_player.transform.position.y + 1.5, this.m_player.transform.position.z + 0.5);
  585. var direction = new Vector3$2(0, 0, 1);
  586. var DownRay = new Laya.Ray(startPos, direction);
  587. if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.FowardHit, 1)) {
  588. if (this.FowardHit.collider.collisionGroup == 100) {
  589. isFowardHit = true;
  590. }
  591. }
  592. return isFowardHit;
  593. }
  594. Archery() {
  595. this.m_animator.play("aimshoot");
  596. let arrow = this.m_arrowpos.getChildAt(this.m_arrowpos.numChildren - 1);
  597. let ray = this.owner.getChildByName("raypos").getChildAt(0);
  598. let forw = Transform3DHelper.getForward(ray.transform);
  599. let testRay = new Laya.Ray(this.m_raypos.transform.position, forw);
  600. let hitRes = new Laya.HitResult();
  601. let isHit = AssetManager.Instance.mainscene.physicsSimulation.rayCast(testRay, hitRes, this.m_raydistance);
  602. if (isHit) {
  603. let target = hitRes.collider.owner;
  604. let pos = target.transform.position.clone();
  605. arrow.transform.translate(pos);
  606. }
  607. else {
  608. let foward = Transform3DHelper.getForward(arrow.transform).clone();
  609. this.ArrowMove(arrow, new Vector3$2(-foward.x, -foward.y, -foward.z));
  610. }
  611. }
  612. ArrowMove(_arrow, _dir) {
  613. Laya.timer.frameLoop(1, this, () => {
  614. _arrow.transform.translate(_dir);
  615. });
  616. }
  617. }
  618. var Vector2 = Laya.Vector2;
  619. var Vector3$3 = Laya.Vector3;
  620. class PlayerControl {
  621. constructor() {
  622. this.DownHit = new Laya.HitResult();
  623. this.canmove = true;
  624. this.speed = 1;
  625. this.press = false;
  626. this.offset = new Vector3$3(0, 0, 0);
  627. this.offestx = 0;
  628. this.poschazhi = new Vector3$3();
  629. this.gengsuipos = new Vector3$3();
  630. this.lllpos = new Vector3$3();
  631. this.hights = 0;
  632. this.wights = 0;
  633. PlayerControl.ins = this;
  634. }
  635. static get Instance() {
  636. if (PlayerControl.ins) {
  637. return PlayerControl.ins;
  638. }
  639. else {
  640. return new PlayerControl();
  641. }
  642. }
  643. Init(_player) {
  644. this.Player = _player;
  645. this._runner = this.Player.addComponent(Runner);
  646. this.Player.transform.position = new Vector3$3();
  647. this.Camera = AssetManager.Instance.maincamera;
  648. this.Camera.transform.position = new Vector3$3(0, 10, -15);
  649. this.Camera.transform.localRotationEuler = new Vector3$3(-5, 0, 0);
  650. Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.onMouseDown);
  651. this.CameraFollow();
  652. }
  653. onMouseDown(e) {
  654. if (!this._runner.canmove)
  655. return;
  656. this._runner._press = true;
  657. this.mouseDownTime = Laya.Browser.now();
  658. this.startMousePos = new Vector3$3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
  659. var startpoint = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
  660. this.curMousePos = this.startMousePos.clone();
  661. this.curMousePos1 = startpoint.clone();
  662. Laya.timer.frameLoop(1, this, this.onMouseMove);
  663. Laya.stage.on(Laya.Event.MOUSE_UP, this, this.onMouseUp);
  664. Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.onMouseUp);
  665. }
  666. onMouseMove() {
  667. var MousePos = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
  668. var offestX = MousePos.x - this.curMousePos1.x;
  669. this.offestx = GameTools.Instance.lerp(this.offestx, offestX, 0.015);
  670. this._runner.MoveX(-this.offestx);
  671. var dir = new Vector3$3(-offestX * 0.005, 0, 0);
  672. this._runner.TurnDir(dir);
  673. this.curMousePos1 = new Vector2(MousePos.x, MousePos.y);
  674. }
  675. onMouseUp() {
  676. this.offestx = 0;
  677. Laya.timer.clear(this, this.onMouseMove);
  678. this._runner._press = false;
  679. if (!this.startMousePos)
  680. return;
  681. Laya.stage.off(Laya.Event.MOUSE_MOVE, this, this.onMouseMove);
  682. Laya.stage.off(Laya.Event.MOUSE_UP, this, this.onMouseUp);
  683. Laya.stage.off(Laya.Event.MOUSE_OUT, this, this.onMouseUp);
  684. let now = Laya.Browser.now();
  685. let interval = now - this.mouseDownTime;
  686. this.endMousePos = new Vector3$3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
  687. let dist = Laya.Vector3.distance(this.endMousePos, this.startMousePos);
  688. if (dist < 50 && interval < 200) {
  689. this._runner.Archery();
  690. console.log("shoot--");
  691. }
  692. this.mouseDownTime = now;
  693. }
  694. CameraFollow() {
  695. this.hights = 0;
  696. this.wights = 0;
  697. Vector3$3.subtract(this.Player.transform.position, this.Camera.transform.position, this.poschazhi);
  698. Laya.timer.frameLoop(1, this, this.GenSui);
  699. }
  700. GenSui() {
  701. Vector3$3.subtract(this.Player.transform.position, this.poschazhi, this.gengsuipos);
  702. this.hights = GameTools.Instance.lerp(this.hights, 1.0, 0.03);
  703. this.wights = GameTools.Instance.lerp(this.wights, 0.8, 0.02);
  704. this.gengsuipos = new Vector3$3(this.gengsuipos.x, this.gengsuipos.y, this.gengsuipos.z - this.wights);
  705. Vector3$3.lerp(this.Camera.transform.position, this.gengsuipos, 0.25, this.lllpos);
  706. this.lllpos = new Vector3$3(this.gengsuipos.x, this.gengsuipos.y, this.lllpos.z);
  707. this.lllpos = new Vector3$3(this.gengsuipos.x, this.lllpos.y, this.lllpos.z);
  708. this.Camera.transform.position = this.lllpos;
  709. var qqqwe = new Laya.Quaternion();
  710. var eyePos = new Vector3$3(this.gengsuipos.x, this.gengsuipos.y - 0.8, this.gengsuipos.z);
  711. Laya.Quaternion.lookAt(eyePos, this.Player.transform.position, new Vector3$3(0, 1, 0), qqqwe);
  712. qqqwe.invert(qqqwe);
  713. Laya.Quaternion.slerp(this.Camera.transform.rotation, qqqwe, 0.1, qqqwe);
  714. this.Camera.transform.rotation = qqqwe;
  715. }
  716. get DownRayCheck() {
  717. var isDownHit = false;
  718. var startPos = new Vector3$3(this.Player.transform.position.x, this.Player.transform.position.y + 1.5, this.Player.transform.position.z + 0.5);
  719. var direction = new Vector3$3(0, -1, 0);
  720. var DownRay = new Laya.Ray(startPos, direction);
  721. if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.DownHit, 100)) {
  722. if (this.DownHit.collider.collisionGroup == 100) {
  723. isDownHit = true;
  724. }
  725. }
  726. return isDownHit;
  727. }
  728. }
  729. var REG = Laya.ClassUtils.regClass;
  730. var ui;
  731. (function (ui) {
  732. class InGameViewUI extends Laya.Scene {
  733. constructor() { super(); }
  734. createChildren() {
  735. super.createChildren();
  736. this.createView(InGameViewUI.uiView);
  737. }
  738. }
  739. InGameViewUI.uiView = { "type": "Scene", "props": { "width": 720, "height": 1280 }, "compId": 2, "loadList": [], "loadList3D": [] };
  740. ui.InGameViewUI = InGameViewUI;
  741. REG("ui.InGameViewUI", InGameViewUI);
  742. class MainGameViewUI extends Laya.Scene {
  743. constructor() { super(); }
  744. createChildren() {
  745. super.createChildren();
  746. this.createView(MainGameViewUI.uiView);
  747. }
  748. }
  749. MainGameViewUI.uiView = { "type": "Scene", "props": { "width": 720, "height": 1280 }, "compId": 2, "child": [{ "type": "Button", "props": { "y": 897, "x": 360, "width": 100, "var": "StartBtn", "stateNum": 1, "skin": "comp/button.png", "pivotY": 50, "pivotX": 50, "label": "label", "height": 100 }, "compId": 4 }], "loadList": ["comp/button.png"], "loadList3D": [] };
  750. ui.MainGameViewUI = MainGameViewUI;
  751. REG("ui.MainGameViewUI", MainGameViewUI);
  752. })(ui || (ui = {}));
  753. class MainGameView extends ui.MainGameViewUI {
  754. constructor() {
  755. super();
  756. MainGameView.ins = this;
  757. }
  758. static get Instance() {
  759. if (MainGameView.ins) {
  760. return MainGameView.ins;
  761. }
  762. else {
  763. return new MainGameView();
  764. }
  765. }
  766. Show() {
  767. this.StartBtn.clickHandler = Laya.Handler.create(this, this.ClickStart);
  768. }
  769. Close() {
  770. }
  771. ClickStart() {
  772. EventManager.StageTrigger(StageState.Start);
  773. ViewManager.Instance.ShowView(ViewType.IngameView);
  774. }
  775. }
  776. class InGameView extends ui.InGameViewUI {
  777. constructor() {
  778. super();
  779. InGameView.ins = this;
  780. }
  781. static get Instance() {
  782. if (InGameView.ins) {
  783. return InGameView.ins;
  784. }
  785. else {
  786. return new InGameView();
  787. }
  788. }
  789. Show() {
  790. }
  791. Close() {
  792. }
  793. }
  794. var ViewType;
  795. (function (ViewType) {
  796. ViewType[ViewType["MainView"] = 0] = "MainView";
  797. ViewType[ViewType["IngameView"] = 1] = "IngameView";
  798. })(ViewType || (ViewType = {}));
  799. class ViewManager {
  800. constructor() {
  801. this.showexportview = 0;
  802. this.popViewDic = [];
  803. this.ViewSprite = new Laya.Sprite();
  804. this.OtherViewSprite = new Laya.Sprite();
  805. ViewManager.ins = this;
  806. Laya.stage.addChild(this.ViewSprite);
  807. Laya.stage.addChild(this.OtherViewSprite);
  808. }
  809. static get Instance() {
  810. if (ViewManager.ins) {
  811. return ViewManager.ins;
  812. }
  813. else {
  814. return new ViewManager();
  815. }
  816. }
  817. ShowView(_viewtype, data = null) {
  818. if (this.curView != null) {
  819. this.curView.Close();
  820. this.curView.destroy();
  821. this.curView.removeSelf();
  822. }
  823. this.curView = this.CreateView(_viewtype);
  824. this.curView.name = ViewType[_viewtype];
  825. this.ViewSprite.addChild(this.curView);
  826. this.curView.Show(data);
  827. }
  828. CloseView() {
  829. if (this.curView != null) {
  830. this.curView.Close();
  831. this.curView.destroy();
  832. this.curView.removeSelf();
  833. }
  834. }
  835. OpenPopView(viewType, data = null) {
  836. var popView;
  837. if (this.popViewDic[viewType]) {
  838. popView = this.popViewDic[viewType];
  839. this.OtherViewSprite.setChildIndex(popView, this.OtherViewSprite.numChildren - 1);
  840. popView.visible = true;
  841. }
  842. else {
  843. popView = this.CreateView(viewType);
  844. this.OtherViewSprite.addChild(popView);
  845. this.popViewDic[viewType] = popView;
  846. }
  847. this.showexportview = 1;
  848. popView.OnOpen(data);
  849. }
  850. ClosePopView(viewType) {
  851. var popView = this.popViewDic[viewType];
  852. if (popView == null) {
  853. return;
  854. }
  855. popView.OnHide();
  856. popView.visible = false;
  857. this.showexportview = 0;
  858. }
  859. ClearPopViews() {
  860. }
  861. CreateView(_viewtype) {
  862. switch (_viewtype) {
  863. case ViewType.MainView:
  864. return new MainGameView();
  865. case ViewType.IngameView:
  866. return new InGameView();
  867. }
  868. return null;
  869. }
  870. }
  871. var Vector3$4 = Laya.Vector3;
  872. var NpcState;
  873. (function (NpcState) {
  874. NpcState[NpcState["Attack"] = 0] = "Attack";
  875. NpcState[NpcState["Ilde"] = 1] = "Ilde";
  876. NpcState[NpcState["Win"] = 2] = "Win";
  877. NpcState[NpcState["Pursue"] = 3] = "Pursue";
  878. NpcState[NpcState["Run"] = 4] = "Run";
  879. })(NpcState || (NpcState = {}));
  880. class NpcRunner extends Laya.Script {
  881. constructor() {
  882. super();
  883. this.m_distance = 30;
  884. this.m_distanceatk = 15;
  885. this.DIE = false;
  886. this.m_npcspeed = 1;
  887. this.canmove = false;
  888. this.offest = new Vector3$4();
  889. this.curpos = new Vector3$4();
  890. NpcRunner.ins = this;
  891. EventManager.StageOn(StageState.Start, this, this.Begin);
  892. }
  893. static get Instance() {
  894. if (NpcRunner.ins) {
  895. return NpcRunner.ins;
  896. }
  897. else {
  898. return new NpcRunner();
  899. }
  900. }
  901. onAwake() {
  902. this.m_npcmodel = this.owner;
  903. this.m_npcanimator = this.owner.getComponent(Laya.Animator);
  904. this.player = GameManager.Instance.CharacterArray[0];
  905. }
  906. Begin() {
  907. this.ChangeState(NpcState.Ilde);
  908. }
  909. onUpdate() {
  910. var distance = Vector3$4.distance(this.player.transform.position, this.m_npcmodel.transform.position);
  911. if (distance < this.m_distance && distance > this.m_distanceatk) {
  912. this.canmove = true;
  913. this.ChangeState(NpcState.Run);
  914. }
  915. else if (distance <= this.m_distanceatk) {
  916. this.canmove = false;
  917. this.ChangeState(NpcState.Attack);
  918. }
  919. this.Move(new Vector3$4(0, 0, -1), 1);
  920. }
  921. Move(_dir, _speed) {
  922. if (this.canmove) {
  923. var sp = GameTools.Instance.lerp(this.m_npcspeed, _speed, 0.1);
  924. this.m_npcspeed = sp;
  925. Vector3$4.scale(_dir, this.m_npcspeed, this.offest);
  926. Vector3$4.add(this.m_npcmodel.transform.position, this.offest, this.curpos);
  927. Vector3$4.lerp(this.m_npcmodel.transform.position, this.curpos, 0.15, this.curpos);
  928. this.curpos = new Vector3$4(this.curpos.x, this.curpos.y, this.curpos.z);
  929. this.m_npcmodel.transform.position = this.curpos;
  930. }
  931. }
  932. ChangeState(_state) {
  933. if (this.npc_state == _state)
  934. return;
  935. this.npc_state = _state;
  936. switch (this.npc_state) {
  937. case NpcState.Attack:
  938. this.Attack();
  939. break;
  940. case NpcState.Pursue:
  941. this.Pursue();
  942. break;
  943. case NpcState.Win:
  944. this.Win();
  945. break;
  946. case NpcState.Ilde:
  947. this.Idle();
  948. break;
  949. case NpcState.Run:
  950. this.Run();
  951. break;
  952. }
  953. }
  954. Idle() {
  955. this.m_npcanimator.play("Idle");
  956. }
  957. Attack() {
  958. this.m_npcanimator.play("JumpOver");
  959. }
  960. Win() {
  961. this.m_npcanimator.play("Victory Idle");
  962. }
  963. Pursue() {
  964. }
  965. Run() {
  966. this.m_npcanimator.play("run");
  967. }
  968. }
  969. class NpcControl {
  970. constructor() {
  971. NpcControl.ins = this;
  972. }
  973. static get Instance() {
  974. if (NpcControl.ins) {
  975. return NpcControl.ins;
  976. }
  977. else {
  978. return new NpcControl();
  979. }
  980. }
  981. Init(_npc) {
  982. this.m_npcmodel = _npc;
  983. this.m_npcrunner = this.m_npcmodel.addComponent(NpcRunner);
  984. }
  985. }
  986. class GameManager {
  987. constructor() {
  988. this.CharacterArray = [];
  989. GameManager.ins = this;
  990. EventManager.EventOn(EventState.SceneInit, this, this.Init);
  991. }
  992. static get Instance() {
  993. if (GameManager.ins) {
  994. return GameManager.ins;
  995. }
  996. else {
  997. return new GameManager();
  998. }
  999. }
  1000. Init() {
  1001. this.CreatCharacter();
  1002. this.mainscene = AssetManager.Instance.mainscene;
  1003. Laya.stage.addChildAt(this.mainscene, 0);
  1004. ViewManager.Instance.ShowView(ViewType.MainView);
  1005. }
  1006. CreatCharacter() {
  1007. this.CreatPlayer();
  1008. this.CreatEnemy();
  1009. }
  1010. CreatPlayer() {
  1011. var playermodel = GamePool.Instance.GetModel(AssetManager.Instance.Player.get(1), "");
  1012. var horsemodel = GamePool.Instance.GetModel(AssetManager.Instance.Horse.get(1), "");
  1013. playermodel.addChild(horsemodel);
  1014. playermodel.transform.position = new Laya.Vector3(0, 0, 0);
  1015. horsemodel.transform.localScale = new Laya.Vector3(1, 1, 1);
  1016. horsemodel.transform.localPosition = new Laya.Vector3(0, 0, 0);
  1017. var raypos = playermodel.getChildByName("raypos");
  1018. var archerpos = playermodel.getChildByName("archerpos");
  1019. var arrowpos = playermodel.getChildByName("arrowpos");
  1020. this.CreatRay(raypos.transform.position.clone(), raypos.transform.rotationEuler.clone(), raypos);
  1021. this.CreatArcher(archerpos.transform.position.clone(), archerpos.transform.rotationEuler.clone(), archerpos);
  1022. this.CreatArrow(arrowpos.transform.position.clone(), arrowpos.transform.rotationEuler.clone(), arrowpos);
  1023. PlayerControl.Instance.Init(playermodel);
  1024. AssetManager.Instance.mainscene.addChild(playermodel);
  1025. this.CharacterArray.push(playermodel);
  1026. }
  1027. CreatEnemy() {
  1028. for (let i = 0; i < 5; i++) {
  1029. var enemymodel = GamePool.Instance.GetModel(AssetManager.Instance.Enemy.get(1), "");
  1030. let posX = GameTools.RandomANumber(-20, 20);
  1031. let posZ = GameTools.RandomANumber(20, 100);
  1032. enemymodel.transform.position = new Laya.Vector3(posX, 0, posZ);
  1033. enemymodel.transform.localScale = new Laya.Vector3(1.5, 1.5, 1.5);
  1034. enemymodel.transform.rotationEuler = new Laya.Vector3(0, 180, 0);
  1035. NpcControl.Instance.Init(enemymodel);
  1036. AssetManager.Instance.mainscene.addChild(enemymodel);
  1037. GameTools.Instance.EnemySetCollider(enemymodel, 100);
  1038. this.CharacterArray.push(enemymodel);
  1039. }
  1040. }
  1041. CreatRay(pos, euler, raypos) {
  1042. var ray = this.CreatRayPrefab();
  1043. raypos.addChild(ray);
  1044. ray.transform.position = new Laya.Vector3(pos.x - 0.3, pos.y, pos.z + 0.5);
  1045. ray.transform.rotationEuler = new Laya.Vector3(-90, euler.y, euler.z);
  1046. let scale = ray.transform.scale.clone();
  1047. scale.z = 0.1;
  1048. scale.y = 3;
  1049. scale.x = 2;
  1050. ray.transform.scale = scale;
  1051. }
  1052. CreatRayPrefab() {
  1053. var ray = GamePool.Instance.GetModel(AssetManager.Instance.Prop.get(8), "");
  1054. return ray;
  1055. }
  1056. CreatArcher(_pos, _euler, archerpos) {
  1057. var archer = GamePool.Instance.GetModel(AssetManager.Instance.Prop.get(6), "");
  1058. archerpos.addChild(archer);
  1059. archer.transform.position = _pos;
  1060. archer.transform.rotationEuler = new Laya.Vector3(-90, 0, 0);
  1061. var scale = archer.transform.scale.clone();
  1062. scale.z = 0.8;
  1063. archer.transform.scale = scale;
  1064. }
  1065. CreatArrow(_pos, _euler, arrowpos) {
  1066. var arrow = GamePool.Instance.GetModel(AssetManager.Instance.Prop.get(5), "");
  1067. arrowpos.addChild(arrow);
  1068. arrow.transform.position = _pos;
  1069. var euler = _euler;
  1070. arrow.transform.rotationEuler = new Laya.Vector3(-90, euler.y, euler.z);
  1071. }
  1072. }
  1073. class LoadView {
  1074. constructor() {
  1075. LoadView.ins = this;
  1076. this.Init();
  1077. }
  1078. static get Instance() {
  1079. if (LoadView.ins) {
  1080. return LoadView.ins;
  1081. }
  1082. else {
  1083. return new LoadView();
  1084. }
  1085. }
  1086. Init() {
  1087. new GameManager();
  1088. this.LoadScene();
  1089. }
  1090. LoadComplete() {
  1091. console.log("加载完毕--");
  1092. EventManager.EventTrigger(EventState.LoadComplete);
  1093. }
  1094. LoadScene() {
  1095. Laya.Scene3D.load(ResourcesPath.MainScene, Laya.Handler.create(this, (scene) => {
  1096. this.scene = scene;
  1097. AssetManager.Instance.mainscene = this.scene;
  1098. console.log("场景加载完毕");
  1099. this.LoadEnemy();
  1100. }));
  1101. }
  1102. LoadEnemy() {
  1103. var path = [];
  1104. for (let i = 0; i < ResourcesPath.Enemy.length; i++) {
  1105. path.push(ResourcesPath.Enemy[i]);
  1106. }
  1107. Laya.loader.create(path, Laya.Handler.create(this, () => {
  1108. for (let i = 0; i < ResourcesPath.Enemy.length; i++) {
  1109. var model = Laya.loader.getRes(ResourcesPath.Enemy[i]);
  1110. AssetManager.Instance.Enemy.set(i + 1, model);
  1111. Laya.loader.clearRes(ResourcesPath.Enemy[i]);
  1112. }
  1113. console.log("敌人模型资源加载完毕---");
  1114. this.LoadPlayer();
  1115. }));
  1116. }
  1117. LoadPlayer() {
  1118. var path = [];
  1119. for (let i = 0; i < ResourcesPath.Player.length; i++) {
  1120. path.push(ResourcesPath.Player[i]);
  1121. }
  1122. Laya.loader.create(path, Laya.Handler.create(this, () => {
  1123. for (let i = 0; i < ResourcesPath.Player.length; i++) {
  1124. var model = Laya.loader.getRes(ResourcesPath.Player[i]);
  1125. AssetManager.Instance.Player.set(i + 1, model);
  1126. Laya.loader.clearRes(ResourcesPath.Player[i]);
  1127. }
  1128. console.log("玩家模型资源加载完毕---");
  1129. this.LoadHorse();
  1130. }));
  1131. }
  1132. LoadHorse() {
  1133. var path = [];
  1134. for (let i = 0; i < ResourcesPath.Horse.length; i++) {
  1135. path.push(ResourcesPath.Horse[i]);
  1136. }
  1137. Laya.loader.create(path, Laya.Handler.create(this, () => {
  1138. for (let i = 0; i < ResourcesPath.Horse.length; i++) {
  1139. var model = Laya.loader.getRes(ResourcesPath.Horse[i]);
  1140. AssetManager.Instance.Horse.set(i + 1, model);
  1141. Laya.loader.clearRes(ResourcesPath.Horse[i]);
  1142. }
  1143. console.log("马模型资源加载完毕---");
  1144. this.LoadProp();
  1145. }));
  1146. }
  1147. LoadProp() {
  1148. Laya.loader.create(ResourcesPath.Prop, Laya.Handler.create(this, this.LoadResources));
  1149. }
  1150. LoadResources(_prop) {
  1151. var Prop = _prop.getChildByName("Prop");
  1152. for (let i = 0; i < Prop.numChildren; i++) {
  1153. var model = Prop.getChildAt(i);
  1154. model.active = false;
  1155. AssetManager.Instance.Prop.set(i + 1, model);
  1156. }
  1157. var Stone = _prop.getChildByName("Stone");
  1158. for (let i = 0; i < Stone.numChildren; i++) {
  1159. var stone = Stone.getChildAt(i);
  1160. stone.active = false;
  1161. AssetManager.Instance.Stone.set(i + 1, stone);
  1162. }
  1163. var Tree = _prop.getChildByName("Tree");
  1164. for (let i = 0; i < Tree.numChildren; i++) {
  1165. var tree = Tree.getChildAt(i);
  1166. tree.active = false;
  1167. AssetManager.Instance.Tree.set(i + 1, tree);
  1168. }
  1169. Laya.loader.clearRes(ResourcesPath.Prop);
  1170. console.log("道具资源加载完毕---");
  1171. this.LoadComplete();
  1172. }
  1173. }
  1174. class Main {
  1175. constructor() {
  1176. if (window["Laya3D"])
  1177. Laya3D.init(GameConfig.width, GameConfig.height);
  1178. else
  1179. Laya.init(GameConfig.width, GameConfig.height, Laya["WebGL"]);
  1180. Laya["Physics"] && Laya["Physics"].enable();
  1181. Laya["DebugPanel"] && Laya["DebugPanel"].enable();
  1182. Laya.stage.scaleMode = GameConfig.scaleMode;
  1183. Laya.stage.screenMode = GameConfig.screenMode;
  1184. Laya.stage.alignV = GameConfig.alignV;
  1185. Laya.stage.alignH = GameConfig.alignH;
  1186. Laya.URL.exportSceneToJson = GameConfig.exportSceneToJson;
  1187. if (GameConfig.debug || Laya.Utils.getQueryString("debug") == "true")
  1188. Laya.enableDebugPanel();
  1189. if (GameConfig.physicsDebug && Laya["PhysicsDebugDraw"])
  1190. Laya["PhysicsDebugDraw"].enable();
  1191. if (GameConfig.stat)
  1192. Laya.Stat.show();
  1193. Laya.alertGlobalError = true;
  1194. Laya.ResourceVersion.enable("version.json", Laya.Handler.create(this, this.onVersionLoaded), Laya.ResourceVersion.FILENAME_VERSION);
  1195. }
  1196. onVersionLoaded() {
  1197. Laya.AtlasInfoManager.enable("fileconfig.json", Laya.Handler.create(this, this.onConfigLoaded));
  1198. }
  1199. onConfigLoaded() {
  1200. new LoadView();
  1201. }
  1202. }
  1203. new Main();
  1204. }());
  1205. //# sourceMappingURL=bundle.js.map