JG0106_2.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import BaseEvent from "../fight/evnet/base/BaseEvent";
  2. import AIPet from "../fight/object/AI/AIPet";
  3. import { SpriteActionType } from "../fight/object/FSprite";
  4. import PSprite from "../fight/object/PSprite";
  5. const { ccclass, property } = cc._decorator;
  6. /**
  7. * 采集浆果。
  8. 直到采集4个给小鹿吃,小鹿才起身,跟着角色走。
  9. */
  10. @ccclass
  11. export default class JG0106_2 extends BaseEvent {
  12. @property({
  13. type: cc.SpriteFrame,
  14. displayName: '图标'
  15. })
  16. public mTipsIcon: cc.SpriteFrame = null;
  17. /**
  18. * 主角进入碰撞区域
  19. * @param tag 碰撞组件编号
  20. */
  21. public onBegin(tag: number) {
  22. this.showOpt(this.mTipsIcon, () => {
  23. let head = this.ff.mFFheader;
  24. let count = head.getTmpCount(5001);
  25. this.closeOpt()
  26. if(count >= 4){
  27. head.removeTmpGood(5001,4)
  28. this.pettl()
  29. this.node.destroy()
  30. }else{
  31. let sprite:PSprite = this.getPet() as PSprite;
  32. let text = [
  33. '我好饿。。',
  34. ]
  35. this.showDialog(sprite.node, text, () => {
  36. })
  37. }
  38. })
  39. }
  40. public onEnd(tag: number) {
  41. this.closeOpt()
  42. }
  43. /**
  44. * 宠物脱离队伍
  45. */
  46. private pettl(){
  47. let sprite:PSprite = this.getPet() as PSprite;
  48. sprite.inFront = this.ff.mainSprite
  49. sprite.playAction(SpriteActionType.stand,true)
  50. sprite.node.addComponent(AIPet)
  51. }
  52. private getPet(){
  53. let sprites = this.ff.getGroupBy('A')
  54. for (let i = 0; i < sprites.length; i++) {
  55. const element = sprites[i];
  56. if(element != this.ff.mainSprite){
  57. return element
  58. }
  59. }
  60. }
  61. }