/// <summary> /// Gets the story text that is to be displayed after picking up an item /// </summary> /// <returns>returns postPickup text for the current area</returns> public string GetPostPickupStory(string prEmail) { //get areaname for current player area TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //use area name to get correct post pickup text TableStory lcStory = _connection.Table <TableStory>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Phase == "postPickup").FirstOrDefault(); return(lcStory.Description); }
/// <summary> /// Logic processor used to obtain the correct story text for the current area that the player is inside /// </summary> /// <returns>returns the correct sotry text for the current area</returns> public string GetStory(string prEmail) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); var itemInAreaCount = _connection.Query <TableAreaItem>( "select TableAreaItem.ItemID from TableAreaItem" + " inner join TablePlayer" + " on TableAreaItem.AreaName = TablePlayer.CurrentArea " + " where TableAreaItem.Email = ? and TableAreaItem.AreaName = ?", prEmail, lcPlayer.CurrentArea).ToList(); if (itemInAreaCount.Count > 0) { TableVisited lcVisited = _connection.Table <TableVisited>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); if (lcVisited == null) { //get first visit story & insert visited entry var lcNewVisited = new TableVisited { AreaName = lcPlayer.CurrentArea, Email = prEmail }; _connection.Insert(lcNewVisited); } // select pre pickup story TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "prePickup" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } else { //TablePlayer lcPlayer = _connection.Table<TablePlayer>().Where(x => x.Email == firebaseManager.FirebaseManagerInstance.Email).FirstOrDefault(); TableVisited lcVisited = _connection.Table <TableVisited>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); // if (lcVisited == null) { //get first visit story & insert visited entry var lcNewVisited = new TableVisited { AreaName = lcPlayer.CurrentArea, Email = prEmail }; _connection.Insert(lcNewVisited); TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "firstVisit" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } else { //get default story TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "default" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } } }