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; } }