GameSparks的连接与应用(Unity)--(4)常用API
官方api文档https://docs.gamesparks.com/api-documentation/#
接收客户端消息与返回
/*接收客户端信息*/
//接收消息需要先在Events里配置
var num = Spark.getData().num;//获取传入的数据"num"
var str = Spark.getData().str;//获取传入的数据"str"
/*返回客户端信息*/
Spark.setScriptData("back_num", num);//将num塞入返回的json中,命名为"back_num"
Spark.setScriptData("back_str", str);//将str塞入返回的json中,命名为"back_str"
NoSQL数据读取
以下runtime数据存放在NoSQL->Runtime->script.playerXXX里
//存入
var playerDataList = Spark.runtimeCollection("playerData"); // 获取NoSQL内script.playerData(玩家数据的集合)里的数据
playerDataList.update({//根据PlayerID往数据集里添加数据
"playerID": playerID
},
{
"$set": PlayerData
}, //使用PlayerData里的数据 更新玩家数据集
true, // 如果数据类别不存在是否创建
false // 此查询只会影响单个对象
);
/*读取数据*/
var playerDataList = Spark.runtimeCollection("playerData"); // 获取NoSQL内script.playerData(玩家数据的集合)里的数据
var playerID = Spark.getPlayer().getPlayerId(); //获取当前PlayerId
var currentPlayerData = playerDataList.findOne({
"playerID": playerID//属性筛选列表中的数据(根据PlayerID找到当前用户数据)
});
Spark.setScriptData("currentPlayerData", currentPlayerData);//将数据返回
var playerID2 = currentPlayerData.playerID;//单独获取playerID
var Gold = currentPlayerData.playerGold;//单独获取Gold
以下数据为每个玩家单独的数据,存放在NoSQL->player找到对应玩家scriptData里
Spark.getPlayer().setScriptData("level", 99);//设置当前玩家的"level"数据数值为99
var Level = Spark.getPlayer().getScriptData("level");//获取当前玩家的数据