public NumberInfo(string number, string bottomNumber, FUSLogger logger) { Number = number; BottomNumber = bottomNumber; Logger = logger; }
// Use this for initializatihon void Start() { _moduleId = _moduleIdCounter++; _logger = new FUSLogger(_moduleId); var possible = new List <IFUSComponentSolver> { new ForgetMeNotComponent(), new ForgetMeLaterComponent(), new ANDComponent(), new ForgetMeNowComponent(), new ForgetInfinityComponent(), new ForgetEverythingComponent(), new SimonsStagesComponent(), new ForgetUsNotComponent() }; var methods = new List <int>(); for (var i = 0; i < 4; i++) { var method = rnd.Range(0, 8); while (methods.Contains(method) || method == 1 && methods.Contains(2) || method == 2 && methods.Contains(1)) { method = rnd.Range(0, 8); } methods.Add(method); } var simonStagesColor = (SimonsStagesColor)rnd.Range(0, 6); if ((methods.Contains(7) && methods.IndexOf(7) > 1)) { var method = rnd.Range(0, 2); var previous = methods.IndexOf(7); var first = methods[method]; methods[method] = methods[previous]; methods[previous] = first; } if (methods.Contains(6) && new[] { SimonsStagesColor.Blue, SimonsStagesColor.Lime }.Contains(simonStagesColor) && methods.IndexOf(6) > 1) { var method = rnd.Range(0, 2); if (methods[method] == 7) { method = method == 0 ? 1 : 0; } var previous = methods.IndexOf(6); var first = methods[method]; methods[method] = methods[previous]; methods[previous] = first; } for (var i = 0; i < 4; i++) { _usedMethods.Add(possible[methods[i]]); } if (_usedMethods.Select(x => x.Id).Contains(MethodId.SimonsStages)) { Audio.PlaySoundAtTransform(_usedMethods.Select(x => x.Id).Contains(MethodId.AND) ? SFX[rnd.Range(0, 2) == 0 ? 0 : 7].name : SFX[0].name, Module.transform); } else { Audio.PlaySoundAtTransform(SFX[7].name, Module.transform); } _chosenColor = simonStagesColor; Module.OnActivate += Activate; }