const std = @import("std"); const Store = @import("../store.zig"); const json_utils = @import("../json_utils.zig"); const json = std.json; const Allocator = std.mem.Allocator; const Cooldown = @import("./cooldown.zig"); const Character = @import("./character.zig"); const BankGoldTransaction = @This(); cooldown: Cooldown, character: Character, pub fn parse(store: *Store, obj: json.ObjectMap, allocator: Allocator) !BankGoldTransaction { const cooldown = json_utils.getObject(obj, "cooldown") orelse return error.MissingProperty; const character = json_utils.getObject(obj, "character") orelse return error.MissingProperty; return BankGoldTransaction{ .cooldown = try Cooldown.parse(cooldown), .character = try Character.parse(store, character, allocator) }; }