FightingScene.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import { _decorator, Component, Node, SkeletalAnimationComponent, AnimationComponent, loader, Prefab, CameraComponent, CCInteger, url } from 'cc';
  2. import { GUIManager } from '../../engines/gui/GUIManager';
  3. import { UIConst } from '../ui/UIConst';
  4. import { GameController } from '../ui/fightings/GameController';
  5. import { GameModel } from '../models/GameModel';
  6. import GameConfigManager from '../models/GameConfigManager';
  7. import { LoadingView } from '../../engines/loadingView/LoadingView';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('FightingScene')
  10. export class FightingScene extends Component {
  11. /* class member could be defined like this */
  12. // dummy = '';
  13. /* use `property` decorator if your want the member to be serializable */
  14. // @property
  15. // serializableDummy = 0;
  16. @property({
  17. type:AnimationComponent
  18. })
  19. leftHand:AnimationComponent=null;
  20. @property({
  21. type:AnimationComponent
  22. })
  23. rightHand:AnimationComponent=null;
  24. @property({
  25. type:CameraComponent
  26. })
  27. camrea:CameraComponent=null;
  28. @property({
  29. type:Node
  30. })
  31. LeftEndPos:Node=null;
  32. @property({
  33. type:Node
  34. })
  35. MiddleEndPos:Node=null;
  36. @property({
  37. type:Node
  38. })
  39. RightEndPos:Node=null;
  40. @property({
  41. type:Node
  42. })
  43. LeftStartPos:Node=null;
  44. @property({
  45. type:Node
  46. })
  47. MiddleStartPos:Node=null;
  48. @property({
  49. type:Node
  50. })
  51. RightStartPos:Node=null;
  52. /**
  53. * 资源引用
  54. */
  55. private assetsRef:Prefab[];
  56. onLoad(){
  57. console.log("进入Fighting场景");
  58. }
  59. private LoadAssets():void{
  60. let urls:string[]=[];
  61. //武器
  62. let weaponConfig:any=GameConfigManager.GetWeaponConfig(GameModel.single.currentWeaponId);
  63. urls.push(weaponConfig.prefab);
  64. //栅栏
  65. let fenceConfig:any=GameConfigManager.GetFenceConfig(GameModel.single.currentFenceId);
  66. urls.push(fenceConfig.prefab);
  67. //本关用到的怪物资源
  68. let levelConfig:any=GameConfigManager.GetLevelConfig(GameModel.single.currentLevel);
  69. let monsterConfig:any;
  70. levelConfig.monsters.forEach(element => {
  71. monsterConfig=GameConfigManager.GetMonsterConfig(element.monsterId);
  72. if(urls.indexOf(monsterConfig.prefab)<0){
  73. urls.push(monsterConfig.prefab);
  74. }
  75. });
  76. //枪口火焰
  77. urls.push("d3d/gunFire/GunFire");
  78. //怪物血条
  79. urls.push("ui/components/MonsterHPUI");
  80. //加载
  81. loader.loadResArray(urls,Prefab,this.LoadAssetsProgress.bind(this),this.LoadAssetsComplete.bind(this));
  82. }
  83. private LoadAssetsProgress(index:number,total:number,item):void{
  84. LoadingView.single.UpdateProgress(index/total);
  85. }
  86. private LoadAssetsComplete(error:Error,assets):void{
  87. if(error){
  88. console.error(error);
  89. }
  90. this.assetsRef=assets;
  91. GUIManager.single.Show(UIConst.FIGHTING_UI);
  92. }
  93. start () {
  94. // GameController.single.Init(this.leftHand,this.rightHand);
  95. // // Your initialization goes here.
  96. // GUIManager.single.Show(UIConst.FIGHTING_UI);
  97. this.LoadAssets();
  98. }
  99. update (deltaTime: number) {
  100. GameController.single.Update(deltaTime);
  101. }
  102. }