123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433 |
- import { JsonAsset, sys } from "cc";
- // 定义今天的数据类
- export class LocalTodayData {
- private _todayData: TodayData;
- constructor() {
- let defaultData: TodayData = {
- lookVedionum: 0,
- isUnlockAll: false,
- UnLockAllTimes: 0
- }
- this._todayData = sys.localStorage.getItem("todayData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("todayData"))) : defaultData
- }
- get todayData(): TodayData {
- return this._todayData;
- }
- set todayData(data: Partial<TodayData>) {
- Object.assign(this._todayData, data);
- this.saveTodayData();
- }
- // 获取用户数据
- getTodayData(): TodayData {
- return this._todayData;
- }
- // 设置用户数据
- setTodayData(data: Partial<TodayData>): void {
- Object.assign(this._todayData, data);
- this.saveTodayData();
- }
- // 保存用户数据到本地存储
- public saveTodayData(): void {
- sys.localStorage.setItem("todayData", JSON.stringify(this._todayData));
- }
- }
- export const Today = new LocalTodayData();
- // 定义用户数据管理类
- export class LocalDataMgr {
- private _userData: UserData;
- private _lixiantime: number;
- private _lixiantime2: string;
- constructor() {
- this.lixianTime2 = ""
- let defaultData: UserData = {
- unlockUnits: [],
- sound: true,
- music: true,
- openid: "demo",
- leveltime: 120
- }
- this._userData = sys.localStorage.getItem("userData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("userData"))) : defaultData
- this.lixianTime = sys.localStorage.getItem("lixianTime") || 0
- }
- get lixianTime() {
- return this._lixiantime
- }
- set lixianTime(time: number) {
- this._lixiantime = time
- sys.localStorage.setItem("lixianTime", time)
- }
- get lixianTime2() {
- return this._lixiantime2
- }
- set lixianTime2(time: string) {
- this._lixiantime2 = time
- sys.localStorage.setItem("lixianTime2", time)
- }
- get userData(): UserData {
- return this._userData;
- }
- // 获取用户数据
- getUserData(): UserData {
- return this._userData;
- }
- // 设置用户数据
- setUserData(data: Partial<UserData>): void {
- Object.assign(this._userData, data)
- this.saveUserData();
- }
- // 保存用户数据到本地存储
- saveUserData(): void {
- sys.localStorage.setItem("userData", JSON.stringify(this._userData));
- }
- startgametime: number = 0;
- entergametime: number = 0
- }
- export const User = new LocalDataMgr();
- export interface usercards {
- id: number,
- level: number,
- num: number
- }
- // 用户数据接口
- export interface UserData {
- unlockUnits: Array<number>;
- sound: boolean;
- music: boolean;
- openid: string;
- leveltime: number;
- }
- export interface TodayData {
- lookVedionum: number;
- isUnlockAll: boolean;
- UnLockAllTimes: number;
- }
- export interface DifficutyData {
- difficutyCount: number;
- scales: Array<number>
- }
- export class UserDifficutyData {
- private _difficutyData: DifficutyData;
- createOrDeleteOtherScale() {
- const targetCount = this._difficutyData.difficutyCount;
- const currentScales = this._difficutyData.scales;
- const defaultScales = [1.18, 1.16, 1.14, 0.3976, 0.3690, 0.3029, 0.0667, 0.0766, 0.0531, 0.0716];
- if (currentScales.length > targetCount) {
- currentScales.splice(targetCount, currentScales.length - targetCount);
- }
- else if (currentScales.length < targetCount) {
- for (let i = currentScales.length; i < targetCount; i++) {
- let value: number;
- if (i < defaultScales.length) {
- value = defaultScales[i];
- } else {
- value = Math.random() * 0.035 + 0.04;
- }
- currentScales.push(value);
- }
- }
- for (let i = 0; i < targetCount; i++) {
- if (currentScales[i] === undefined || currentScales[i] === null) {
- if (i < defaultScales.length) {
- currentScales[i] = defaultScales[i];
- } else {
- currentScales[i] = Math.random() * 0.035 + 0.04;
- }
- }
- }
- // 保存修改后的数据
- this.saveDifficutyData();
- }
- constructor() {
- let defaultData = {
- difficutyCount: 10,
- scales: [1.18, 1.16, 1.14, 0.3976, 0.3690, 0.3029,
- 0.0667, 0.0766, 0.0531, 0.0716]
- }
- this._difficutyData = sys.localStorage.getItem("difficutyData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("difficutyData"))) : defaultData
- }
- get difficutyData(): DifficutyData {
- return this._difficutyData;
- }
- set difficutyData(data: Partial<DifficutyData>) {
- Object.assign(this._difficutyData, data);
- this.saveDifficutyData();
- }
- // 获取难度数据
- getDifficutyData(): DifficutyData {
- return this._difficutyData;
- }
- // 设置难度数据
- setDifficutyData(data: Partial<DifficutyData>): void {
- Object.assign(this._difficutyData, data);
- this.saveDifficutyData();
- }
- // 保存用户数据到本地存储
- public saveDifficutyData(): void {
- sys.localStorage.setItem("difficutyData", JSON.stringify(this._difficutyData));
- }
- setDataToDefault()
- {
- let defaultData = {
- difficutyCount: 10,
- scales: [1.18, 1.16, 1.14, 0.3976, 0.3690, 0.3029,
- 0.0667, 0.0766, 0.0531, 0.0716]
- }
- this._difficutyData = defaultData;
- this.saveDifficutyData();
- }
- }
- export const Difficulty = new UserDifficutyData();
- export interface SkinData {
- singleSelect:string
- multiSelect:string
- selectedSkinList:Array<number>
- }
- export class UserSkinData {
- private _skinData: SkinData;
- constructor() {
- let defaultData: SkinData = {
- singleSelect: "true",
- multiSelect: "false",
- selectedSkinList: []
- }
- this._skinData = sys.localStorage.getItem("skinData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("skinData"))) : defaultData
- }
- get skinData(): SkinData {
- return this._skinData;
- }
- set skinData(data: Partial<SkinData>) {
- Object.assign(this._skinData, data);
- this.saveSkinData();
- }
- // 获取皮肤数据
- getSkinData(): SkinData {
- return this._skinData;
- }
- // 设置皮肤数据
- setSkinData(data: Partial<SkinData>): void {
- Object.assign(this._skinData, data);
- this.saveSkinData();
- }
- // 保存用户数据到本地存储
- public saveSkinData(): void {
- sys.localStorage.setItem("skinData", JSON.stringify(this._skinData));
- }
- addSelectSkin(key:number)
- {
- let index = this._skinData.selectedSkinList.indexOf(key)
- if(index == -1)
- {
- this._skinData.selectedSkinList.push(key)
- }
- this.saveSkinData()
- }
- removeSelectSkin(key:number)
- {
- let index = this._skinData.selectedSkinList.indexOf(key)
- if(index != -1)
- {
- this._skinData.selectedSkinList.splice(index,1)
- }
- this.saveSkinData()
- }
- removeAllSelectSkin()
- {
- this._skinData.selectedSkinList = []
- this.saveSkinData()
- }
- addAllSelectSkin()
- {
- this._skinData.selectedSkinList = []
- let allSkinkeys = getSelectAllKeys()
- for(let i = 0;i < allSkinkeys.length;i++)
- {
- this._skinData.selectedSkinList.push(allSkinkeys[i])
- }
- this.saveSkinData()
- }
- }
- export const Skin = new UserSkinData();
- export interface MapData {
- types:Array<string>
- selectedMaps:Array<number>
- }
- export class UserMapData {
- private _mapData: MapData;
- constructor() {
- let defaultData: MapData = {
- types: ["全部","爆量"],
- selectedMaps: []
- }
- this._mapData = sys.localStorage.getItem("mapData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("mapData"))) : defaultData
- }
- get mapData(): MapData {
- return this._mapData;
- }
- set mapData(data: Partial<MapData>) {
- Object.assign(this._mapData, data);
- this.saveMapData();
- }
- // 获取地图数据
- getMapData(): MapData {
- return this._mapData;
- }
- // 设置地图数据
- setMapData(data: Partial<MapData>): void {
- Object.assign(this._mapData, data);
- this.saveMapData();
- }
- // 保存用户数据到本地存储
- public saveMapData(): void {
- sys.localStorage.setItem("mapData", JSON.stringify(this._mapData));
- }
- }
- export interface SuperFindData {
- title:string
- levelDesc:string
- imgPath:string
- }
- export class UserSuperFindData {
- private _superFindData: SuperFindData;
- constructor() {
- let obj = Skin.getSkinData().selectedSkinList[0]
- let defaultData: SuperFindData = {
- title: `找到${Difficulty.getDifficutyData().difficutyCount}个跳舞的小熊`,
- levelDesc: `疯狂最强找茬-找小熊-第${1}关`,
- imgPath: `image/bg1`
- }
- this._superFindData = sys.localStorage.getItem("superFindData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("superFindData"))) : defaultData
- }
- get superFindData(): SuperFindData {
- return this._superFindData;
- }
- set superFindData(data: Partial<SuperFindData>) {
- Object.assign(this._superFindData, data);
- this.saveSuperFindData();
- }
- // 获取疯狂找茬数据
- getSuperFindData(): SuperFindData {
- return this._superFindData;
- }
- // 设置疯狂找茬数据
- setSuperFindData(data: Partial<SuperFindData>): void {
- Object.assign(this._superFindData, data);
- this.saveSuperFindData();
- }
- // 保存数据到本地存储
- public saveSuperFindData(): void {
- sys.localStorage.setItem("superFindData", JSON.stringify(this._superFindData));
- }
- }
- export const selectedSkinList: { [key: number]: string } = {
- //假设30个数据
- 1: "spine/hecha",
- 2: "spine/hecha",
- 3: "spine/hecha",
- 4: "spine/hecha",
- 5: "spine/hecha",
- 6: "spine/hecha",
- 7: "spine/hecha",
- 8: "spine/hecha",
- 9: "spine/hecha",
- 10: "spine/hecha",
- 11: "spine/hecha",
- 12: "spine/hecha",
- 13: "spine/hecha",
- 14: "spine/hecha",
- 15: "spine/hecha",
- 16: "spine/hecha",
- 17: "spine/hecha",
- 18: "spine/hecha",
- 19: "spine/hecha",
- 20: "spine/hecha",
- 21: "spine/hecha",
- 22: "spine/hecha",
- 23: "spine/hecha",
- 24: "spine/hecha",
- 25: "spine/hecha",
- 26: "spine/hecha",
- 27: "spine/hecha",
- 28: "spine/hecha",
- 29: "spine/hecha",
- 30: "spine/hecha",
- };
- /**
- * 获取 selectedSkinList 中所有的键
- * @returns 包含所有键的数字数组
- */
- export function getSelectAllKeys(): number[] {
- return Object.keys(selectedSkinList).map(Number);
- }
|