Files

93 lines
2.6 KiB
TypeScript
Raw Permalink Normal View History

2026-05-12 06:46:31 +08:00
/**
*
* Like A Dino!
*/
import { Color, Node, Sprite } from "cc";
import { GlobalData } from "../config/GlobalData";
import { DataManager } from "./DataManager";
//公共业务方法类
export default class Common {
/**
*
* @param musicID ID
* @returns
*/
public static async loadMusicNoteData(musicID: number): Promise<any | null> {
return await DataManager.loadJson<any>(`data/music_${musicID}`);
}
/**
*
* @param musicID ID
* @returns
*/
public static isMusicUnlocked(musicID: number): boolean {
return GlobalData.unlockMusicIDList?.includes(musicID);
}
/**
*
* @param musicID ID
*/
public static unlockMusic(musicID: number) {
//如果已经解锁了,则直接返回
if (Common.isMusicUnlocked(musicID)) {
return;
}
let unlockMusicIDList = GlobalData.unlockMusicIDList || [];
//解锁音乐,并存储到本地缓存中
unlockMusicIDList?.push(musicID);
//更新本地缓存
GlobalData.unlockMusicIDList = unlockMusicIDList;
}
/**
*
* @param dinoID ID
* @returns
*/
public static isDinoUnlocked(dinoID: number): boolean {
return GlobalData.unlockDinoIDList?.includes(dinoID);
}
/**
*
* @param dinoID ID
*/
public static unlockDino(dinoID: number) {
//如果已经解锁了,则直接返回
if (Common.isDinoUnlocked(dinoID)) {
return;
}
let unlockDinoIDList = GlobalData.unlockDinoIDList || [];
//解锁小恐龙,并存储到本地缓存中
unlockDinoIDList?.push(dinoID);
//更新本地缓存
GlobalData.unlockDinoIDList = unlockDinoIDList;
}
/**
*
* @param node
* @param color
*/
public static setPageBackgroundColor(node: Node, color: Color) {
node.getComponent(Sprite).color = color;
}
/**
*
* @param node
*/
public static setPageBackgroundColorAsDino(node: Node) {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取背景色
const backgroundColor = new Color(dinoInfo.bgColor);
// 设置页面的背景颜色
this.setPageBackgroundColor(node.getChildByName("bg"), backgroundColor);
}
}