Esempio n. 1
0
    /// <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);
    }
Esempio n. 2
0
    /// <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);
            }
        }
    }