12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import { _decorator, Component, Event, Node } from "cc";
- import BaseUI from "../../scripts/base/BaseUI";
- import { ScrollView } from "cc";
- import UserM, { GoodInfo } from "../../scripts/api/UserM";
- import { instantiate } from "cc";
- import { RewardItem } from "../item/RewardItem";
- import { OnItemClick } from "../item/RewardItem";
- import { RewardLayer } from "../layer/RewardLayer";
- import { Tips } from "../../scripts/mgr/Tips";
- import ConfigM, { Config } from "../../scripts/api/ConfigM";
- import ItemsM from "../../scripts/mgr/ItemsM";
- import ShopM from "../../scripts/api/ShopM";
- import EV, { EV_TYPE } from "../../scripts/mgr/EV";
- import { CommonTabsTitle } from "../common/CommonTabsTitle";
- const { ccclass, property } = _decorator;
- @ccclass("PageStorage")
- export class PageStorage extends BaseUI {
- protected onLoad(): void {
- super.onLoad();
- this.getComponentInChildren(CommonTabsTitle).init(["STORAGE"], this.onTabClick.bind(this));
-
- EV.ins.on(
- EV_TYPE.USER_GOOD_REFRESH,
- this.onUserGoodRefresh.bind(this),
- this
- );
- }
- onUserGoodRefresh() {
- this.init();
- }
- onItemClick(item: GoodInfo): void {
- // RewardLayer.mock()
- if (!ConfigM.ins.GoodIsBox(item.id)) {
- Tips.show("" + ConfigM.ins.getGoodName(item.id));
- return;
- }
- this.openBox(item);
- }
- private async openBox(item: GoodInfo) {
- let num = 1;
- if (item.count >= 10) {
- num = 10;
- }
- let result = await ShopM.ins.openBox(item.id, num);
- if (result) {
- ItemsM.ins.itemChange(result.changeList, result.goodList);
- // this.init();
- }
- }
- public onShow(): void {
- this.init();
- }
- onTabClick(index: number) {
- this.init();
- }
- async init() {
- let self = this;
- let tpl = this.FindNode("RewardItem");
- tpl.active = false;
- let scrollView = this.FindAs("ScrollView", ScrollView);
- scrollView.content.removeAllChildren();
- let list = await UserM.ins.getDisPlayGoods();
- if (list.length == 0) {
- this.FindNode("NoData").active = true;
- return;
- }
- this.FindNode("NoData").active = false;
- for (let i = 0; i < list.length; i++) {
- let item = instantiate(tpl);
- item.active = true;
- item.parent = scrollView.content;
- item
- .getComponent(RewardItem)
- .init(0, list[i], self.onItemClick.bind(self));
- }
- }
- }
|