super-hero/assets/cc-game/scripts/game_data/UserDataSaver.ts

85 lines
2.9 KiB
TypeScript
Raw Normal View History

2024-04-23 19:17:24 -07:00
import { _decorator, Component, Node } from 'cc';
import { UmStorageManager } from '../../../cc-common/cc-util/UmStorageManager';
import { HeroDataInfo } from '../global/GameInterface';
import { UmLog } from '../../../cc-common/cc-util/UmLog';
import { CCFloat } from 'cc';
2024-05-08 02:31:19 -07:00
import { GameDefine } from '../config/GameDefine';
2024-04-23 19:17:24 -07:00
const { ccclass, property } = _decorator;
@ccclass('UserDataSaver')
export class UserDataSaver extends Component {
@property(CCFloat) check;
heroDataInfo: HeroDataInfo = null;
public level: number;
private level_key = "level";
public expInLevel: number;
private expInlevel_key = "expInlevel";
public expAllTime: number;
private expAllTime_key = "expAllTime";
public gold: number;
private gold_key = "gold"
2024-05-08 02:31:19 -07:00
public activeSkillCollected: {};
private skill_collected_key = "skill_collected";
2024-04-23 19:17:24 -07:00
getKeySaver(key: string)
{
return "UserDataSaver_" + key;
}
public loadData()
{
2024-05-08 02:31:19 -07:00
// this.level = UmStorageManager.instance.getNumberByKey(this.getKeySaver(this.level_key), 1);
// this.expInLevel = UmStorageManager.instance.getNumberByKey(this.getKeySaver(this.expInlevel_key), 0);
// this.expAllTime = UmStorageManager.instance.getNumberByKey(this.getKeySaver(this.expAllTime_key), 0);
// this.gold = UmStorageManager.instance.getNumberByKey(this.getKeySaver(this.gold_key), 0);
// this.skill_collected = JSON.parse(UmStorageManager.instance.getStringByKey(this.getKeySaver(this.skill_collected_key), this.skillCollectedDefault()));
2024-04-23 19:17:24 -07:00
}
public saveData()
{
2024-05-08 02:31:19 -07:00
// UmStorageManager.instance.setNumberByKey(this.getKeySaver(this.level_key), this.level);
// UmStorageManager.instance.setNumberByKey(this.getKeySaver(this.expInlevel_key), this.expInLevel);
// UmStorageManager.instance.setNumberByKey(this.getKeySaver(this.expAllTime_key), this.expAllTime);
// UmStorageManager.instance.setStringByKey(this.getKeySaver(this.skill_collected_key), JSON.stringify(this.skill_collected));
// UmStorageManager.instance.setNumberByKey(this.getKeySaver(this.gold_key), this.gold);
}
resetData()
{
this.level = 1;
this.expInLevel = 0;
this.expAllTime = 0;
this.gold = 0;
this.activeSkillCollected = this.skillCollectedDefault();
}
skillCollectedDefault()
{
var results = {};
var listKeys = GameDefine.ACTIVE_SKILL_KEY;
for (var i = 0; i < listKeys.length; i++)
{
results[listKeys[i]] = 1;
}
return results;
}
collectSkill(skillId: string, plusLevel: number)
{
var skillLevel = 0;
if (this.activeSkillCollected.hasOwnProperty((skillId)))
skillLevel = this.activeSkillCollected[skillId];
skillLevel += plusLevel;
skillLevel = Math.min(skillLevel, 20);
this.activeSkillCollected[skillId] = skillLevel;
this.saveData();
2024-04-23 19:17:24 -07:00
}
}