BuyItemLayer.ts 1.9 KB

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