FightingScene.ts 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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(AnimationComponent)
  17. leftHand:AnimationComponent=null;
  18. @property(AnimationComponent)
  19. rightHand:AnimationComponent=null;
  20. @property(CameraComponent)
  21. camrea:CameraComponent=null;
  22. @property(Node)
  23. LeftEndPos:Node=null;
  24. @property(Node)
  25. MiddleEndPos:Node=null;
  26. @property(Node)
  27. RightEndPos:Node=null;
  28. /**
  29. * 资源引用
  30. */
  31. private assetsRef:Prefab[];
  32. onLoad(){
  33. console.log("进入Fighting场景");
  34. }
  35. private LoadAssets():void{
  36. let urls:string[]=[];
  37. //武器
  38. let weaponConfig:any=GameConfigManager.GetWeaponConfig(GameModel.single.currentWeaponId);
  39. urls.push(weaponConfig.prefab);
  40. //栅栏
  41. let fenceConfig:any=GameConfigManager.GetFenceConfig(GameModel.single.currentFenceId);
  42. urls.push(fenceConfig.prefab);
  43. //本关用到的怪物资源
  44. let levelConfig:any=GameConfigManager.GetLevelConfig(GameModel.single.currentLevel);
  45. let monsterConfig:any;
  46. levelConfig.monsters.forEach(element => {
  47. monsterConfig=GameConfigManager.GetMonsterConfig(element.monsterId);
  48. if(urls.indexOf(monsterConfig.prefab)<0){
  49. urls.push(monsterConfig.prefab);
  50. }
  51. });
  52. //枪口火焰
  53. urls.push("d3d/gunFire/GunFire");
  54. //加载
  55. loader.loadResArray(urls,Prefab,this.LoadAssetsProgress.bind(this),this.LoadAssetsComplete.bind(this));
  56. }
  57. private LoadAssetsProgress(index:number,total:number,item):void{
  58. LoadingView.single.UpdateProgress(index/total);
  59. }
  60. private LoadAssetsComplete(error:Error,assets):void{
  61. if(error){
  62. console.error(error);
  63. }
  64. this.assetsRef=assets;
  65. GameController.single.Init(this.LeftEndPos,this.MiddleEndPos,this.RightEndPos,this.camrea,this.leftHand,this.rightHand);
  66. GUIManager.single.Show(UIConst.FIGHTING_UI);
  67. }
  68. start () {
  69. // GameController.single.Init(this.leftHand,this.rightHand);
  70. // // Your initialization goes here.
  71. // GUIManager.single.Show(UIConst.FIGHTING_UI);
  72. this.LoadAssets();
  73. }
  74. update (deltaTime: number) {
  75. GameController.single.Update(deltaTime);
  76. }
  77. }