GameBouns.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { _decorator, Component, Node, Label, Prefab, instantiate } from 'cc';
  2. import { ResourcesUtils } from '../../core/resourceManager/ResourcesUtils';
  3. import { WindowManager } from '../../core/ui/window/WindowManager';
  4. import { WindowOpenMode } from '../../core/ui/window/WindowOpenMode';
  5. import { g } from '../../Data/g';
  6. import { BonusLogItem } from '../../Item/BonusLogItem';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('GameBouns')
  9. export class GameBouns extends Component {
  10. @property({ type: Label, tooltip: "昨日收益" })
  11. yesterdayIncomeLabel: Label;
  12. @property({ type: Label, tooltip: "昨日总分红" })
  13. yesterdayBonusLabel: Label;
  14. @property({ type: Label, tooltip: "昨日人均分红" })
  15. yesterdayAverageBonusLabel: Label;
  16. @property({ type: Label, tooltip: "昨日得财神人数" })
  17. yesterdayCaishenNumLabel: Label;
  18. @property({ type: Label, tooltip: "已得财神总人数" })
  19. caishenTotalNumLabel: Label;
  20. @property({ type: Node, tooltip: "获得分红财神的日志" })
  21. public bonusLogs: Node;
  22. @property({ type: Node, tooltip: "日志的滚动视图" })
  23. public logsScorllView;
  24. async start() {
  25. let data = g.gameData.gameBonus;
  26. this.caishenTotalNumLabel.string = data.bonusTotalUserNum + "";
  27. this.yesterdayCaishenNumLabel.string = data.bonusUserNum + "";
  28. let yesterdayAverageBonus = Math.floor(data.bonus / 100) / 100;
  29. this.yesterdayAverageBonusLabel.string = yesterdayAverageBonus + "";
  30. let yesterdayBonus = Math.floor(yesterdayAverageBonus * data.bonusTotalUserNum);
  31. this.yesterdayBonusLabel.string = yesterdayBonus + "";
  32. this.yesterdayIncomeLabel.string = yesterdayBonus * 5 + "";
  33. data.logs.sort((a: { name: string, time: string }, b: { name: string, time: string }) => {
  34. return a.time > b.time ? 1 : -1;
  35. });
  36. for (let i = 0; i < data.logs.length; i++) {
  37. let prefabData = await ResourcesUtils.load<Prefab>("Prefabs/Item/BonusLogItem", null, this.node);
  38. var itemNode = instantiate(prefabData);
  39. itemNode.parent = this.bonusLogs;
  40. itemNode.getComponent(BonusLogItem).setData(data.logs[i]);
  41. }
  42. }
  43. /**打开分红玩法说明窗口 */
  44. public openBonusIntroduceWindow() {
  45. WindowManager.open("Prefabs/Windows/分红玩法说明", WindowOpenMode.NotCloseAndAdd);
  46. }
  47. }
  48. /**
  49. * [1] Class member could be defined like this.
  50. * [2] Use `property` decorator if your want the member to be serializable.
  51. * [3] Your initialization goes here.
  52. * [4] Your update function goes here.
  53. *
  54. * Learn more about scripting: https://docs.cocos.com/creator/3.0/manual/en/scripting/
  55. * Learn more about CCClass: https://docs.cocos.com/creator/3.0/manual/en/scripting/ccclass.html
  56. * Learn more about life-cycle callbacks: https://docs.cocos.com/creator/3.0/manual/en/scripting/life-cycle-callbacks.html
  57. */