Example #1
0
    IEnumerator PayHomeless()
    {
        paying = true;

        yield return(new WaitForSeconds(Random.Range(minimumTimeToPay, minimumTimeToPay + 3)));

        ///////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////
        //// CODE TO GIVE MONEY STORED IN minimumToPay TO HOMELESS MAN ////
        ///////////////////////////////////////////////////////////////////
        ///// LEAVE IF TO ENSURE NPC IS STILL WATCHING HOMELESS MAN! //////
        ///////////////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////
        if (staring)
        {
            float moneyToAdd = (Mathf.FloorToInt(Random.Range(minimumToPayPennies, maximumToPayPennies)) / 100.0f);

            CultureInfo gb = CultureInfo.GetCultureInfo("en-GB");

            ChatLogger.SendChatMessage(PlayerName + " has given you " + moneyToAdd.ToString("c2", gb), Color.cyan);
            GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Money += moneyToAdd;
            //GameObject.Find("Money Text").GetComponent<Text>().text = (int.Parse(GameObject.Find("MoneyCounter").GetComponent<Text>().text) + Mathf.FloorToInt(Random.Range(minimumToPay, minimumToPay + 5))).ToString();
        }

        paying = false;
    }
    public void ShopItemBought(string name)
    {
        //var Player = GameObject.FindGameObjectWithTag("Player");
        //Player.GetComponent<PlayerManager>();
        var item = ShopItems.FirstOrDefault(i => i.ItemName == name);

        if (item.Cost <= GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Money)
        {
            if (item.ModifierList.All(i => CheckAddable(i)))
            {
                GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Money -= item.Cost;
                string change = "";
                foreach (var modifier in item.ModifierList)
                {
                    change += modifier.Key.ToString() + " " + (modifier.Value < 0 ? "decreased " : "increased ") + "by " + modifier.Value + " | ";
                    AddStat(modifier);
                }
                change = change.TrimEnd('|', ' ');
                CultureInfo gb  = CultureInfo.GetCultureInfo("en-GB");
                string      msg = item.ItemName + " purchased for " + item.Cost.ToString("c2", gb);
                ChatLogger.SendChatMessage(msg, Color.white);
                ChatLogger.SendChatMessage(change, Color.green);
            }
        }
        else
        {
            ChatLogger.SendChatMessage("You do not have enough money for this item", Color.red);
        }
    }
Example #3
0
 private void CheckLevelProgress()
 {
     if (playerData.Experience >= (playerData.Level * 120))
     {
         playerData.Level++;
         playerData.Experience = 0;
         ChatLogger.SendChatMessage("Leveled Up! Now level " + playerData.Level, Color.magenta);
     }
 }
Example #4
0
    private void Start()
    {
        HungerBarProg = GameObject.Find("HungerBarProg").GetComponent <RawImage>();
        ThirstBarProg = GameObject.Find("ThirstBarProg").GetComponent <RawImage>();
        CleanBarProg  = GameObject.Find("CleanlinessBarProg").GetComponent <RawImage>();
        WarmthBarProg = GameObject.Find("WarmthBarProg").GetComponent <RawImage>();
        MoraleBarProg = GameObject.Find("MoraleBarProg").GetComponent <RawImage>();

        MoneyCounter = GameObject.Find("MoneyCounter").GetComponent <Text>();

        playerData = SaveSystem.LoadPlayerData();

        ChatLogger.SendChatMessage("Game Started, Good luck!", Color.yellow);
        AOEEffect   = true;
        AOERange    = 75;
        actionTimer = ScriptableObject.CreateInstance <PlayerAction>();
        actionTimer.Init(15, true);
    }
    private bool CheckAddable(KeyValuePair <StatType, float> modifier)
    {
        switch (modifier.Key)
        {
        case StatType.Hunger:
            var hungerval = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Hunger + modifier.Value;
            if (hungerval <= 100 && hungerval > 0)
            {
                return(true);
            }
            else if (hungerval <= 0)
            {
                ChatLogger.SendChatMessage("You are too hungry for this item. (" + hungerval + "/100)", Color.red);
                return(false);
            }
            else
            {
                ChatLogger.SendChatMessage("You are not hungry enough to eat this item. (" + hungerval + "/100)", Color.red);
                return(false);
            }

        case StatType.Hydration:
            var hydrationval = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Hydration + modifier.Value;
            if (hydrationval <= 100 && hydrationval > 0)
            {
                return(true);
            }
            else if (hydrationval <= 0)
            {
                ChatLogger.SendChatMessage("You are too thirsty for this item. (" + hydrationval + "/100)", Color.red);
                return(false);
            }
            else
            {
                ChatLogger.SendChatMessage("You are not thirsty enough to eat this item. (" + hydrationval + "/100)", Color.red);
                return(false);
            }

        case StatType.Warmth:
            var warmthval = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Warmth + modifier.Value;
            if (warmthval <= 100 && warmthval > 0)
            {
                return(true);
            }
            else if (warmthval <= 0)
            {
                ChatLogger.SendChatMessage("You are too cold for this item. (" + warmthval + "/100)", Color.red);
                return(false);
            }
            else
            {
                ChatLogger.SendChatMessage("You are to hot right now. (" + warmthval + "/100)", Color.red);
                return(false);
            }

        case StatType.Cleanliness:
            var cleanlinessval = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerManager>().playerData.Cleanliness + modifier.Value;
            if (cleanlinessval <= 100 && cleanlinessval > 0)
            {
                return(true);
            }
            else if (cleanlinessval <= 0)
            {
                ChatLogger.SendChatMessage("You are too dirty for this item. (" + cleanlinessval + "/100)", Color.red);
                return(false);
            }
            else
            {
                ChatLogger.SendChatMessage("You do not fancy this right now. (" + cleanlinessval + "/100)", Color.red);
                return(false);
            }

        default:
            return(false);
        }
    }