示例#1
0
        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()
                    }
                }));
            });
        }
示例#2
0
        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()
                }));
            });
        }
示例#3
0
        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",
                    }
                }));
            });
        }