/// <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); } }
/// <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); }
/// <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); } }