예제 #1
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);
    }
예제 #2
0
    /// <summary>
    /// gets current npc table for the area the player is in
    /// </summary>
    /// <param name="prPlayer">used to get the correct npc table for the player</param>
    /// <returns>returns the npc table</returns>
    public bool GetNPC(Player prPlayer)
    {
        TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prPlayer._email).FirstOrDefault();
        TableNPC    lcNPC    = _connection.Table <TableNPC>().Where(x => x.CurrentArea == lcPlayer.CurrentArea && x.Email == prPlayer._email).FirstOrDefault();

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