Example #1
0
        public void AddCondition(ActiveCondition c)
        {
            ActiveConditions.Add(c);

            if (c.Bonus != null)
            {
                ApplyBonus(c.Bonus, false);
            }
        }
Example #2
0
        public void RemoveCondition(ActiveCondition c)
        {
            ActiveConditions.Remove(c);

            if (c.Bonus != null)
            {
                ApplyBonus(c.Bonus, true);
            }
        }
Example #3
0
        public string TrackerDetails(bool forUpdateFunction, bool addDashes)
        {
            var text = "";

            if (!Failed)
            {
                foreach (var activeCondition in ActiveConditions.Where(c => c != BonusCondition))
                {
                    text += (addDashes ? " - " : "") + TrackerDetailsForCondition(activeCondition);
                }
            }
            if (HasTimeLimit)
            {
                text += forUpdateFunction ? (Failed ? "Failed" : "Time Left: " + (int)CurrentTimeLimit) : (Failed ? "Failed" : "Time Limited") + "\n";
            }

            if (HasBonusCondition)
            {
                //text += string.IsNullOrEmpty(text) ? "" : "\n\n";
                if (!FailedBonus)
                {
                    text += "Bonus:" + "\n";
                    text += (addDashes ? " - " : "") + TrackerDetailsForCondition(BonusCondition);
                    if (BonusHasTimeLimit)
                    {
                        text += forUpdateFunction ? (addDashes ? " - " : "") + "Time Left: " + (int)BonusCurrentTimeLimit : (addDashes ? " - " : "") + "Time Limited" + "\n";
                    }
                }
                else
                {
                    text += "Bonus: Failed" + "\n";
                }
            }

            return("\n" + text);
        }
Example #4
0
 public ActiveCondition FindCondition(string name)
 {
     return(ActiveConditions.FirstOrDefault
                (a => String.Compare(a.Condition.Name, name, true) == 0));
 }