Esempio n. 1
0
 protected CounterBase[] IncrementCounters(IncrementorBase[] incrementors)
 {
     foreach (var counter in GameCash.Counters)
     {
         if (counter.Id >= incrementors.Length)
         {
             break;
         }
         IncrementorBase incrementor = incrementors[counter.Id];
         if (incrementor.IncrementorType == IncrementorTypeEnum.ValueIncrementor)
         {
             var genericCounter = counter as GenericCounter;
             if (genericCounter != null)
             {
                 genericCounter.SubValue += incrementor.Value;
             }
             else
             {
                 counter.SubValue += incrementors[counter.Id].Value;
             }
         }
         else if (incrementor.IncrementorType == IncrementorTypeEnum.PercentageIncrementor)
         {
             var genericCounter = counter as GenericCounter;
             if (genericCounter != null)
             {
                 genericCounter.BonusPercentage += incrementor.Value;
             }
         }
     }
     return(GameCash.Counters);
 }
        internal void FromGlobalVariable(string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                var styles = value.Split(".".ToCharArray());

                if (styles.Length == 4)
                {
                    Major    = BuildVersionIncrementor.Instance.Incrementors[styles[0]];
                    Minor    = BuildVersionIncrementor.Instance.Incrementors[styles[1]];
                    Build    = BuildVersionIncrementor.Instance.Incrementors[styles[2]];
                    Revision = BuildVersionIncrementor.Instance.Incrementors[styles[3]];
                }
                else
                {
                    throw (new ApplicationException($"Invalid versioning style \"{value}\"."));
                }
            }
            else
            {
                Major = Minor = Build = Revision = null;
            }
        }