BuyItemLayer.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { _decorator, Component, Node } from 'cc';
  2. import { ITEM_TYPE } from '../../../core/common/GameConst';
  3. import BasePanel from '../../../core/component/BasePanel';
  4. import Data from '../../../core/manager/Data';
  5. import GameConst from '../../../core/common/GameConst';
  6. import MsgHints from '../../../core/utils/MsgHints';
  7. import WindowManager from '../../../core/manager/WindowManager';
  8. import { Main } from '../Main';
  9. import audioManager from 'db://assets/manager/audioManager';
  10. import { constants } from 'db://assets/data/constants';
  11. const { ccclass, property } = _decorator;
  12. @ccclass('BuyItemLayer')
  13. export class BuyItemLayer extends BasePanel {
  14. private type: ITEM_TYPE;
  15. setItemType(type: ITEM_TYPE) {
  16. this.type = type;
  17. this.GetGameObject("Magnet").active = type == ITEM_TYPE.Magnet;
  18. this.GetGameObject("Hint").active = type == ITEM_TYPE.Hint;
  19. this.GetGameObject("Frozen").active = type == ITEM_TYPE.Frozen;
  20. this.GetGameObject("Time").active = type == ITEM_TYPE.Time;
  21. this.SetText("lbl_name", GameConst.getItemName(type))
  22. Main.Instance()._GameUI.pasue = true;
  23. }
  24. onDestroy() {
  25. super.onDestroy();
  26. Main.Instance()._GameUI.pasue = false;
  27. }
  28. onBtnClicked(event: any, customEventData: any) {
  29. audioManager.playOneShot(constants.audios.btnclick);
  30. var btnName = event.target.name;
  31. switch (btnName) {
  32. case "btn_close":
  33. this.close();
  34. break;
  35. case "btn_buy":
  36. if (Data.user.coin < 90) {
  37. WindowManager.ins.open("BuyCoinLayer");
  38. }
  39. else {
  40. MsgHints.show("购买成功!");
  41. Data.user.coin -= 90;
  42. Data.user.addItem(this.type, 3);
  43. Data.save();
  44. this.close();
  45. }
  46. break;
  47. }
  48. }
  49. }