Esempio n. 1
0
    public void CreateRoom(RoomProperties settings, string username, ICallBackPlayer callback)
    {
        Room newroom = new Room(settings);

        this.Rooms.Add(newroom.ID, newroom);
        this.JoinRoom(newroom.ID, username, callback);
    }
Esempio n. 2
0
    public bool JoinRoom(string player, ICallBackPlayer callback)
    {
        lock (players)
        {
            if ((this.RoomPropertes.Settings & RoomSettings.PasswordProtected) != 0)
            {
                //Password check
            }

            if ((this.RoomPropertes.Settings & RoomSettings.EloRestricted) != 0)
            {
                //Elo check
            }
            if (players.Count >= this.roomProperties.maxPlayers)
            {
                return(false);
            }

            DataBaseAPI db   = new DataBaseAPI();
            User        user = db.getUser(player);

            Shooter newshoter = new Shooter();
            newshoter.username = player;
            newshoter.callback = callback;
            newshoter.elo      = user.Elo;

            players.Add(player, newshoter);

            subscriber.PlayersInTheRoom(players);
            return(true);
        }
    }
Esempio n. 3
0
    public bool JoinRoom(int Roomid, string username, ICallBackPlayer callback)
    {
        LeaveRoom(username);
        Room room;

        if (Rooms.TryGetValue(Roomid, out room))
        {
            if (room.JoinRoom(username, callback))
            {
                PlayersRoom[username] = room;
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            throw new FaultException <Exception>(new Exception("Room could not be found!"));
        }
    }