Beispiel #1
0
    /// <summary>
    /// Adds the current area item to the players inventory
    /// </summary>
    /// <param name="prEmail">email used to identify the player</param>
    /// <returns>returns true of false dependant on whether the command was successful or not</returns>
    public bool AddItemToInven(string prEmail)
    {
        try
        {
            //get current area from player table
            TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault();

            //get item id for current area
            TableAreaItem lcAreaItem = _connection.Table <TableAreaItem>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault();

            //add item to inventory
            TableInventory lcInventory = new TableInventory
            {
                ItemID = lcAreaItem.ItemID,
                Email  = prEmail
            };
            _connection.Insert(lcInventory);

            //remove from areaItem
            //moved to its own function due to db file error
            //_connection.Delete(lcAreaItem);

            return(true);
        }
        catch
        {
            return(false);
        }
    }
Beispiel #2
0
    /// <summary>
    /// Sets players game data to default values
    /// </summary>
    /// <param name="prEmail">email address used to identify the player</param>
    #region New Game
    public void NewGame(string prEmail)
    {
        //remove existing entries for player
        _connection.Query <TableAreaItem>(
            "delete from TableAreaItem"
            + " where TableAreaItem.Email = ?",
            dataBetweenScenesManager.dataBetweenScenesInstance.Email);

        _connection.Query <TableInventory>(
            "delete from TableInventory"
            + " where TableInventory.Email = ?",
            dataBetweenScenesManager.dataBetweenScenesInstance.Email);

        _connection.Query <TableNPC>(
            "delete from TableNPC"
            + " where TableNPC.Email = ?",
            dataBetweenScenesManager.dataBetweenScenesInstance.Email);

        _connection.Query <TableVisited>(
            "delete from TableVisited"
            + " where TableVisited.Email = ?",
            dataBetweenScenesManager.dataBetweenScenesInstance.Email);

        //pull player out
        TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault();

        //update to default values
        lcPlayer.CurrentArea = "christChurchSteps";
        lcPlayer.Health      = 10;

        //put back in
        _connection.Update(lcPlayer);

        //insert new entires for area item as default values
        TableAreaItem lcNewAreaItem1 = new TableAreaItem
        {
            ItemID   = 1,
            AreaName = "starbucks",
            Email    = prEmail
        };

        TableAreaItem lcNewAreaItem2 = new TableAreaItem
        {
            ItemID   = 2,
            AreaName = "newWorld",
            Email    = prEmail
        };

        TableNPC lcNPC = new TableNPC
        {
            Name        = "spookyboi",
            Health      = 20,
            Email       = prEmail,
            CurrentArea = "stateCinemas"
        };

        _connection.Insert(lcNewAreaItem1);
        _connection.Insert(lcNewAreaItem2);
        _connection.Insert(lcNPC);
    }
Beispiel #3
0
    /// <summary>
    /// returns the current areas areaitem table
    /// </summary>
    /// <param name="prPlayer">used to select the corrent areaitem row for the current player</param>
    /// <returns>returns the players current areaitem table for the area they are in</returns>
    public bool GetAreaItem(Player prPlayer)
    {
        TablePlayer   lcPlayer   = _connection.Table <TablePlayer>().Where(x => x.Email == prPlayer._email).FirstOrDefault();
        TableAreaItem lcAreaItem = _connection.Table <TableAreaItem>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == prPlayer._email).FirstOrDefault();

        if (lcAreaItem == null)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }