private void OnStateChange(KMGameInfo.State state) { DebugLog("Transitioning from {1} to {0}", state, CurrentState); if ((_prevState == KMGameInfo.State.Setup || _prevState == KMGameInfo.State.PostGame) && CurrentState == KMGameInfo.State.Transitioning && state == KMGameInfo.State.Transitioning) { _modSettings.ReadSettings(); var seed = _modSettings.Settings.RuleSeed; DebugLog("Generating Rules based on Seed {0}", seed); GenerateRules(seed); ManualGenerator.Instance.WriteManual(seed); } _prevState = CurrentState; CurrentState = state; }
private void OnStateChange(KMGameInfo.State state) { if (AddWidget != null) { StopCoroutine(AddWidget); AddWidget = null; } if (FixMorseCode != null) { StopCoroutine(FixMorseCode); FixMorseCode = null; } //DebugLog("Transitioning from {1} to {0}", state, CurrentState); //if((_prevState == KMGameInfo.State.Setup || _prevState == KMGameInfo.State.PostGame) && CurrentState == KMGameInfo.State.Transitioning && state == KMGameInfo.State.Transitioning) if (CurrentState == KMGameInfo.State.Setup && state == KMGameInfo.State.Transitioning) { _modSettings.ReadSettings(); var seed = _modSettings.Settings.RuleSeed; if (_modSettings.Settings.RandomRuleSeed) { seed = new System.Random().Next(_modSettings.Settings.MaxRandomSeed < 0 ? int.MaxValue : _modSettings.Settings.MaxRandomSeed); } _currentSeed = seed; _currentRandomSeed = _modSettings.Settings.RandomRuleSeed; DebugLog("Generating Rules based on Seed {0}", seed); GenerateRules(seed); ManualGenerator.Instance.WriteManual(seed); } else if ((_prevState == KMGameInfo.State.Setup || _prevState == KMGameInfo.State.PostGame) && CurrentState == KMGameInfo.State.Transitioning && state == KMGameInfo.State.Transitioning) { AddWidget = StartCoroutine(AddWidgetToBomb(RuleSeedWidget)); } else if (state == KMGameInfo.State.Gameplay) { FixMorseCode = StartCoroutine(FixMorseCodeModule()); } _prevState = CurrentState; CurrentState = state; }
private void Start() { _started = true; DebugLog("Service prefab Instantiated."); ApplyBugFixes(); //DestroyImmediate(GetComponent<KMService>()); //Hide from Mod Selector _modSettings = new Settings(GetComponent <KMModSettings>()); if (!Initialize()) { DebugLog("Failed to initialize the reflection component of Vanilla Rule Modifier. Aborting load"); return; } if (!_modSettings.ReadSettings()) { DebugLog("Failed to initialize Mod settings. Aborting load"); return; } GameObject infoObject = new GameObject("VanillaRuleModifierProperties"); infoObject.transform.parent = gameObject.transform; PublicProperties[0] = infoObject.AddComponent <RuleSeedModifierProperties>(); PublicProperties[0].VanillaRuleModifer = this; GameObject infoObject2 = new GameObject("RuleSeedModifierProperties"); infoObject2.transform.parent = gameObject.transform; PublicProperties[1] = infoObject2.AddComponent <RuleSeedModifierProperties>(); PublicProperties[1].VanillaRuleModifer = this; foreach (string mod in ModsThatSupportRuleSeedModifier) { RuleSeedModifierProperties.AddSupportedModule(mod); } _gameInfo = GetComponent <KMGameInfo>(); LoadMod(); DebugLog("Service started"); }
private void OnStateChange(KMGameInfo.State state) { if (AddWidget != null) { StopCoroutine(AddWidget); AddWidget = null; } DebugLog("Transitioning from {1} to {0}", state, CurrentState); if ((_prevState == KMGameInfo.State.Setup || _prevState == KMGameInfo.State.PostGame) && CurrentState == KMGameInfo.State.Transitioning && state == KMGameInfo.State.Transitioning) { _modSettings.ReadSettings(); var seed = _modSettings.Settings.RuleSeed; DebugLog("Generating Rules based on Seed {0}", seed); GenerateRules(seed); ManualGenerator.Instance.WriteManual(seed); if (seed != 1) { AddWidget = StartCoroutine(AddWidgetToBomb(RuleSeedWidget)); } } _prevState = CurrentState; CurrentState = state; }