示例#1
0
        public async static Task <ContestGame> CreateGameAsync(APIClient api, string hookUri)
        {
            var contest  = new ContestGame();
            var worldKey = Guid.NewGuid().ToString();

            contest.Hook = Hook.Default;
            await UriTools.PatchAsync(hookUri, contest.Hook);

            contest.WorldKey = worldKey;
            contest.ArenaURL = (await api.World.PutWorldAsync(worldKey, contest.Hook));
            Console.WriteLine($"world create returned: {contest.ArenaURL}");
            contest.ArenaURL = "ws://" + contest.ArenaURL.Replace(worldKey, string.Empty);
            Console.WriteLine($"final: {contest.ArenaURL}");

            contest.API = new API.Client.APIClient(new Uri(contest.ArenaURL))
            {
                Token = api.Token
            };

            return(contest);
        }