Esempio n. 1
0
        /// <summary>
        /// Remove player's registration (deregister).
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>The <see cref="object"/>.</returns>
        public object Delete(RegistrationCommand request)
        {
            var result = GameController.Deregister(request.Slug);

            if (result)
            {
                ServerEvents.NotifyChannel("spectator", new SpectatorMessage {
                    MessageType = MessageTypes.Player, Name = request.Name, Avatar = request.Hash, Message = $"`@{request.Slug}` has left the demo"
                });
            }

            return(new HttpResult(HttpStatusCode.NoContent));
        }
Esempio n. 2
0
        /// <summary>
        /// Register a player.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>The <see cref="object"/>.</returns>
        public object Post(RegistrationCommand request)
        {
            var result = GameController.Register(request.Slug, request.Hash, request.Name);

            if (!result)
            {
                throw new HttpError(HttpStatusCode.NotAcceptable, "DuplicatePlayerID");
            }

            ServerEvents.NotifyChannel("spectator", new SpectatorMessage {
                MessageType = MessageTypes.Player, Name = request.Name, Avatar = request.Hash, Message = $"`@{request.Slug}` has joined the demo"
            });

            return(new HttpResult(HttpStatusCode.Created));
        }