131 lines
3.8 KiB
TypeScript
131 lines
3.8 KiB
TypeScript
import NumberToImage from "./NumberToImage";
|
|
import JiaZai from "./JiaZai";
|
|
import { MiniGameSdk } from "./Sdk/MiniGameSdk";
|
|
|
|
|
|
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();
|
|
}
|
|
//打开商店界面
|
|
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();
|
|
}
|
|
|
|
//购买体力
|
|
buyHeath(){
|
|
if(!this.btn_Touch){
|
|
return;
|
|
}
|
|
this.btn_Touch = false;
|
|
//获取当前体力
|
|
let curHeath = cc.fx.GameConfig.GM_INFO.hp;
|
|
//获取当前金币
|
|
let curCoin = cc.fx.GameConfig.GM_INFO.coin;
|
|
if(curCoin >= 1000){
|
|
this.switchButtons[1].active = false;
|
|
cc.fx.GameTool.changeCoin(-1000);
|
|
cc.fx.GameConfig.GM_INFO.hp = 5;
|
|
const parentNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
|
|
if (parentNode) {
|
|
const jiazaiComp = parentNode.getComponent(JiaZai);
|
|
if (jiazaiComp) {
|
|
jiazaiComp.setHealthInfo();
|
|
jiazaiComp.updateCoin();
|
|
}
|
|
}
|
|
this.switchButtons[0].active = true;
|
|
cc.fx.GameTool.setUserHealth(0, (data) => {
|
|
cc.fx.GameTool.getHealth(null);
|
|
})
|
|
}
|
|
else{
|
|
MiniGameSdk.API.showToast("金币不足,无法购买体力");
|
|
setTimeout(() => {
|
|
this.btn_Touch = true;
|
|
this.openShop();
|
|
}, 500);
|
|
}
|
|
}
|
|
|
|
//金币不够购买金币
|
|
openShop(){
|
|
//获取场景中的 JiaZai 组件
|
|
const parentNode = cc.find("Canvas"); // 假设 JiaZai 挂在 Canvas 节点
|
|
if (parentNode) {
|
|
const jiazaiComp = parentNode.getComponent(JiaZai);
|
|
if (jiazaiComp) {
|
|
jiazaiComp.openShop();
|
|
}
|
|
}
|
|
}
|
|
|
|
//关闭弹窗
|
|
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) {}
|
|
}
|