colorBlock_iaa/assets/Script/heathnum.ts
2025-10-24 14:41:37 +08:00

158 lines
5.0 KiB
TypeScript

import NumberToImage from "./NumberToImage";
import JiaZai from "./JiaZai";
import { MiniGameSdk } from "./Sdk/MiniGameSdk";
import { MiniGameManager } from "./Sdk/MiniGameManager";
// prefab/pop/heathpop
const { ccclass, property } = cc._decorator;
@ccclass
export default class NewClass extends cc.Component {
//商店界面
@property(cc.Node)
heath: cc.Node = null;
//体力数量
@property(cc.Node)
heatht: cc.Node = null;
//切换的节点
@property([cc.Node])
switchNode: cc.Node[] = [];
//倒计时健康回复
@property(cc.Node)
timeNode: cc.Node = null;
//切换的按钮数组 // 删除此按钮数组内的 金币买体力 改成分享
@property([cc.Node])
switchButtons: cc.Node[] = [];
//金币花费数
// @property(cc.Node)
// coin: cc.Node = null;
btn_Touch: boolean = true;
onLoad() {
this.btn_Touch = true;
}
start() {
this.btn_Touch = true;
this.openPop();
this.initUI();
}
initUI() {
if (this.switchButtons[1] && this.switchButtons[1].childrenCount > 1) {
if (cc.fx.GameTool.canObtainByShare("health")) {
this.switchButtons[1].getChildByName("share_img").active = true;
this.switchButtons[1].getChildByName("ad_img").active = false;
} else {
this.switchButtons[1].getChildByName("share_img").active = false;
this.switchButtons[1].getChildByName("ad_img").active = true;
}
}
}
//打开商店界面
openPop() {
// console.log("打开heath弹窗", cc.fx.GameConfig.GM_INFO.hp);
//NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.hp, 30, 15, "time_", this.coin, true);
}
startGame() {
// 获取场景中的 JiaZai 组件
const jiazaiNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
if (jiazaiNode) {
const jiazaiComp = jiazaiNode.getComponent(JiaZai);
if (jiazaiComp) {
jiazaiComp.startGame();
} else {
console.warn("JiaZai 组件未找到");
}
} else {
console.warn("JiaZai 节点未找到");
}
this.closePop();
}
onShare() {
if (!this.btn_Touch) {
return;
}
this.btn_Touch = false;
var self = this;
//获取当前体力
// let curHeath = cc.fx.GameConfig.GM_INFO.hp;
//获取当前金币
// let curCoin = cc.fx.GameConfig.GM_INFO.coin;
// if (curCoin >= 1000) {
// cc.fx.GameConfig.GM_INFO.hp = 1; // 测试时不通过微信分享使用
var callback = function (isType, shareOrAd) {
//// 分享成功后才执行以下代码
if (isType == true) {
console.log("分享得体力");
self.switchButtons[1].active = false;
cc.fx.GameConfig.GM_INFO.hp = 1;
// cc.fx.GameConfig.GM_INFO.min_Time = 0;
// NumberToImage.numberToImageNodes(cc.fx.GameConfig.GM_INFO.hp, 40, 20, "month_", this.heatht, true);
const parentNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
if (parentNode) {
const jiazaiComp = parentNode.getComponent(JiaZai);
if (jiazaiComp) {
jiazaiComp.setHealthInfo(false);
}
}
self.switchButtons[0].active = true;
cc.fx.GameTool.setUserHealth(0, (data) => {
cc.fx.GameTool.getHealth(null);
})
cc.fx.GameTool.addShareCount("health")
const data = {
change_reason: shareOrAd, // share or ad
id: 1002,
num: 1,
compensate: false
}
cc.fx.GameTool.shushu_Track("resource_get", data);
}
}
if (cc.fx.GameTool.canObtainByShare("health")) {
cc.fx.GameTool.shareToWX(callback)
} else {
let data = {
ad_placement_name: "1002", //内部广告位名称
current_page: "HomeScene" //所在页面
}
cc.fx.GameTool.onShowVideo(callback, data)
}
}
//关闭弹窗
closePop() {
this.btn_Touch = true;
//销毁预制体
// console.log("关闭heath弹窗");
//关闭计时器
// 获取场景中的 JiaZai 组件
const jiazaiNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
if (jiazaiNode) {
const jiazaiComp = jiazaiNode.getComponent(JiaZai);
if (jiazaiComp) {
jiazaiComp.stopHeathTimeCutDown();
} else {
console.warn("JiaZai 组件未找到");
}
} else {
console.warn("JiaZai 节点未找到");
}
this.heath.destroy();
}
// update (dt) {}
}