MonsterHPUIPool.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { _decorator, Component, Node, loader, Prefab, instantiate } from 'cc';
  2. import { GameController } from '../GameController';
  3. import { MonsterBase } from './MonsterBase';
  4. import { MonsterHP } from './MonsterHP';
  5. const { ccclass, property } = _decorator;
  6. export class MonsterHPUIPool extends Component {
  7. private static pool:MonsterHP[]=[];
  8. /**
  9. * 创建
  10. */
  11. public static Create():MonsterHP{
  12. let monsterHPView:MonsterHP;
  13. // if(this.pool.length>0){
  14. // monsterHPView=this.pool.shift();
  15. // // GameController.single.monsterHPUILayer.addChild(monsterHPView.node);
  16. // monsterHPView.node.active=true;
  17. // return monsterHPView
  18. // }
  19. let prefab:Prefab=loader.getRes("ui/components/MonsterHPUI");
  20. let viewNode:Node=instantiate(prefab);
  21. monsterHPView=viewNode.addComponent(MonsterHP);
  22. GameController.single.monsterHPUILayer.addChild(viewNode);
  23. return monsterHPView;
  24. }
  25. public static Recycle(monsterHPView:MonsterHP):void{
  26. GameController.single.monsterHPUILayer.removeChild(monsterHPView.node);
  27. monsterHPView.node.destroy();
  28. // monsterHPView.monster=null;
  29. // if(this.pool.indexOf(monsterHPView)>=0){
  30. // throw new Error("重复回收")
  31. // }
  32. // this.pool.push(monsterHPView);
  33. }
  34. }