/**
* 获得指引ID,新手引导走到哪一步
*/
public getGuideId():number {
var key:string = PlayerService.instance.puid + "_" + Global.serverId + "_guide";
var id:number = parseInt(egret.localStorage.getItem(key));
if (id && id > 0) {
return id;
}
return 1;
}
/**
* 保存指引ID
*/
public saveGuideId():void {
var key:string = PlayerService.instance.puid + "_" + Global.serverId + "_guide";
egret.localStorage.setItem(key, this.nowId.toString());
}
}
本地存储 用到egret.localStorage,本身是一个hasMap,即键值对
key的生成就是 玩家的puid+_+服务器的Id+_guide;
获取的方式也是key。这样就保证了同一个账号,不同账号之间在本地都有个需要存储的值,一一对应。简洁方便!!!!
下面是保存玩家最近登录的服务器信息。也是存储在本地文件中
<span style="white-space:pre"> </span>//最近登录列表
var historyServer: string = egret.localStorage.getItem("gjgame_servers_" + PlayerService.instance.puid);<pre name="code" class="javascript"> <span style="white-space:pre"> </span>/**
* 收到登录返回
* @param data
*/
private recvLogin(data:any):void {
// LoadManager.instance.load("main",this.onLogin, this);
//服务器系统时间
PlayerService.instance.sysTime = data.timeStamp;
//防止进入多次,来到这变设为false
Global.isNewPlayer = false;
//记录登录名
egret.localStorage.setItem("gjgame_puid", PlayerService.instance.puid);
<span style="white-space:pre"> </span> if (!Global.isInit) {
//记录服务器
this.saveServerId();
<span style="white-space:pre"> </span> }
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> /**
* 保存服务器ID
*/
private saveServerId():void {
var serverIds:string[];
var servers:string = egret.localStorage.getItem("gjgame_servers_" + PlayerService.instance.puid);
if (servers) {
serverIds = servers.split(",");
if (serverIds) {
var index:number = serverIds.indexOf(Global.serverId);
while (index > -1) {
serverIds.splice(index, 1);
index = serverIds.indexOf(Global.serverId);
}
}
} else {
serverIds = [];
}
serverIds.push(Global.serverId);
var idStr:string = serverIds.join(",");
egret.localStorage.setItem("gjgame_servers_" + PlayerService.instance.puid, idStr);
}</span>