Esempio n. 1
0
            public static bool CreateRoom(CommandContext ctx)
            {
                if (openRooms.ContainsKey(ctx.User.Id))
                {
                    return(false);
                }
                if (BotHandler.GetUserState(ctx.User.Id) != UserState.Idle)
                {
                    return(false);
                }

                Room newRoom = new Room();

                newRoom.SetDefaultName(ctx, BotHandler.openRooms);


                openRooms.Add(ctx.User.Id, newRoom);
                openRooms[ctx.User.Id].AddPlayer(ctx.User.Id);
                openRooms[ctx.User.Id].hostId = ctx.User.Id;
                openRooms[ctx.User.Id].guild  = ctx.Guild;

                BotHandler.SetUserState(ctx.User.Id, UserState.HostingARoom);

                return(true);
            }
Esempio n. 2
0
        public bool AddPlayer(ulong id)
        {
            if (this.players.Contains(id))
            {
                return(false);
            }

            this.players.Add(id);
            if (BotHandler.GetUserState(id) != UserState.HostingARoom)
            {
                BotHandler.SetUserState(id, UserState.WaitingInRoom);
            }
            return(true);
        }
Esempio n. 3
0
 public override Task <bool> ExecuteCheckAsync(CommandContext ctx, bool help)
 {
     return(Task.FromResult(this.States.Contains(BotHandler.GetUserState(ctx.User.Id))));
 }