public PayVaultConsumeModule() { this.Post("/api/166", ctx => { var args = Serializer.Deserialize <PayVaultConsumeArgs>(this.Request.Body); var token = this.Request.Headers["playertoken"].FirstOrDefault(); var game = GameManager.GetGameFromToken(token); var items = game.BigDB.LoadRange("PayVaultItems", "PriceCoins", null, null, 1000); // TODO: actually remove the items. return(PlayerIO.CreateResponse(token, true, new PayVaultConsumeOutput() { VaultContents = new PayVaultContents() { Coins = 1, Version = "22040806-3e9f-438e-97eb-51069207926d", Items = items.Select(x => new PayVaultItem() { Id = "pvi" + x.Key, ItemKey = x.Key, Properties = DatabaseObjectExtensions.FromDatabaseObject(x) }).ToList() } })); }); }
public LoadMatchingObjectsModule() { this.Post("/api/94", ctx => { var args = Serializer.Deserialize <LoadMatchingObjectsArgs>(this.Request.Body); var token = this.Request.Headers["playertoken"].FirstOrDefault(); var game = GameManager.GetGameFromToken(token); var matches = game.BigDB.LoadMatchingObjects(args.Table, args.Index, args.IndexValue, args.Limit); return(PlayerIO.CreateResponse(token, true, new LoadMatchingObjectsOutput() { Objects = matches.Select(x => new BigDBObject() { Creator = 0, Key = x.Key, Properties = DatabaseObjectExtensions.FromDatabaseObject(x), Version = "1" }).ToList() })); }); }
public CreateObjectsModule() { this.Post("/api/82", ctx => { var args = Serializer.Deserialize <CreateObjectsArgs>(this.Request.Body); var token = this.Request.Headers["playertoken"].FirstOrDefault(); var game = GameManager.GetGameFromToken(token); var results = new List <BigDBObject>(); foreach (var obj in args.Objects) { var(exists, dbo) = game.BigDB.FindObjectIfExists(obj.Table, obj.Key); if (exists) { results.Add((new BigDBObject() { Key = obj.Key, Creator = 0, Properties = DatabaseObjectExtensions.FromDatabaseObject(dbo), Version = "1" })); } else { game.BigDB.CreateObject(obj.Table, obj.Key, new DatabaseObject(obj.Table, obj.Key, "1", obj.Properties)); results.Add(new BigDBObject() { Key = obj.Key, Creator = 1, Properties = obj.Properties, Version = "1" }); } } return(PlayerIO.CreateResponse(token, true, new CreateObjectsOutput { Objects = results })); }); }
public LoadMyPlayerObjectModule() { this.Post("/api/103", ctx => { var args = Serializer.Deserialize <LoadMyPlayerObjectArgs>(this.Request.Body); var token = this.Request.Headers["playertoken"].FirstOrDefault(); var game = GameManager.GetGameFromToken(token); var userId = token.Split(':')[1]; var(exists, dbo) = game.BigDB.FindObjectIfExists("PlayerObjects", userId); return(PlayerIO.CreateResponse(token, true, new LoadMyPlayerObjectOutput() { PlayerObject = new BigDBObject() { Creator = 0, Key = userId, Properties = exists ? DatabaseObjectExtensions.FromDatabaseObject(dbo) : new List <ObjectProperty>() { }, Version = "1", } })); }); }