#
# Used to load achievements from storage.
init from_json(game: Game, json: JsonObject) do
- init(game, json["id"].to_s, json["name"].to_s, json["desc"].to_s, json["reward"].as(Int))
+ init(game,
+ json["id"].as(String),
+ json["name"].as(String),
+ json["desc"].as(String),
+ json["reward"].as(Int))
end
- redef fun to_json do
+ redef fun to_json_object do
var json = super
json["id"] = id
json["name"] = name
json["desc"] = desc
json["reward"] = reward
json["game"] = game.key
+ var owner = self.owner
if owner != null then json["owner"] = owner.key
return json
end
obj["player"] = name
obj["reward"] = achievement.reward
obj["achievement"] = achievement.id
- obj["github_event"] = event.json
+ obj["github_event"] = event
var ge = new GameEvent(game, "achievement_unlocked", obj)
add_event(ge)
game.add_event(ge)