int FindThreshold() { try { ModSettingsJSON settings = JsonConvert.DeserializeObject <ModSettingsJSON>(modSettings.Settings); if (settings != null) { if (settings.countdownTime < 5) { return(5); } else if (settings.countdownTime > 60) { return(60); } else { return(settings.countdownTime); } } else { return(10); } } catch (JsonReaderException e) { Debug.LogFormat("[Fast Math #{0}] JSON reading failed with error {1}, using default threshold.", _moduleId, e.Message); return(10); } }
//function for getting total number of stages; default is 3 int findTotalStageNum() { try { ModSettingsJSON settings = JsonConvert.DeserializeObject <ModSettingsJSON>(modSettings.Settings); if (settings != null) { if (settings.totalStageNum < 1) { return(1); } else if (settings.totalStageNum > 20) { return(20); } else { return(settings.totalStageNum); } } else { return(3); } } catch (JsonReaderException e) { Debug.LogFormat("[Homestuck Flashes #{0}] JSON reading failed with error {1}; using default value of 3.", _moduleId, e.Message); return(3); } }
private void Start() { _gameInfo = GetComponent <KMGameInfo>(); _gameInfo.OnStateChange += OnStateChange; _modSettings = GetComponent <KMModSettings>(); ModSettingsJSON settings = JsonConvert.DeserializeObject <ModSettingsJSON>(_modSettings.Settings); if (settings == null) { DebugHelper.LogError("Failed to read connection settings from mod settings."); return; } DebugMode = (settings.debug == true); _ircConnection = new IRCConnection(settings.authToken, settings.userName, settings.channelName, settings.serverName, settings.serverPort); _ircConnection.Connect(); _coroutineCanceller = new CoroutineCanceller(); _coroutineQueue = GetComponent <CoroutineQueue>(); _coroutineQueue.coroutineCanceller = _coroutineCanceller; logUploader = GetComponent <LogUploader>(); logUploader.ircConnection = _ircConnection; urlHelper = GetComponent <UrlHelper>(); urlHelper.ChangeMode(settings.shortUrls == true); _leaderboard = new Leaderboard(); _leaderboard.LoadDataFromFile(); ModuleData.LoadDataFromFile(); ModuleData.WriteDataToFile(); TwitchPlaySettings.LoadDataFromFile(); UserAccess.AddUser(settings.userName, AccessLevel.Streamer | AccessLevel.SuperUser | AccessLevel.Admin | AccessLevel.Mod); UserAccess.AddUser(settings.channelName.Replace("#", ""), AccessLevel.Streamer | AccessLevel.SuperUser | AccessLevel.Admin | AccessLevel.Mod); UserAccess.WriteAccessList(); SetupResponder(bombMessageResponder); SetupResponder(postGameMessageResponder); SetupResponder(missionMessageResponder); SetupResponder(miscellaneousMessageResponder); bombMessageResponder.leaderboard = _leaderboard; postGameMessageResponder.leaderboard = _leaderboard; miscellaneousMessageResponder.leaderboard = _leaderboard; bombMessageResponder.parentService = this; }
private void Start() { Activated = 0; moduleId = ++ModuleIdCounter; ModSettingsJSON.Get(this, out dimension, out rotation, out colorAssist, out isUsingBounce, out stretchToFit); ModuleSelectable.OnInteract += Interact.Init(this, true, dimension - Info.GetSolvableModuleNames().Where(i => i == "The Octadecayotton").Count()); SubModuleSelectable.OnInteract += Interact.OnInteract(this, false, dimension - Info.GetSolvableModuleNames().Where(i => i == "The Octadecayotton").Count()); SubModuleSelectable.OnHighlight += () => SelectableRenderer.enabled = true; SubModuleSelectable.OnHighlightEnded += () => SelectableRenderer.enabled = false; }
/// <summary> /// The startup method for Init, which gets the module prepared to be interacted with. /// </summary> internal void Activate() { // Sets module ID. moduleId = ++moduleIdCounter; // Sets accessibility. ModSettingsJSON.Get(pho, out render.cruelMode, out vrMode, out streamDelay); UpdateCruel(); // This allows TP to read this class. pho.TP.Activate(this); // Plays voice lines only if it is the last one initiated. Not checking this causes multiple sounds to stack up. pho.Info.OnBombSolved += () => { if (moduleId == moduleIdCounter) { pho.PlaySound("voice_bombdisarmed"); } }; pho.Info.OnBombExploded += () => { if (moduleId == moduleIdCounter) { pho.PlaySound("voice_gameover"); } }; pho.Number.OnInteract += select.NumberPress(); pho.Color.OnInteract += select.ColorPress(); pho.Buttons.OnInteractArray(select.ButtonPress); // Initalize markers, and use OnDefocus. if (!vrMode) { pho.Color.OnDefocus += select.ColorRelease(); pho.Markers.OnInteractArray(select.MarkerPress); } // Otherwise, remove markers and use OnInteractEnded. else { pho.Color.OnInteractEnded += select.ColorRelease(); foreach (var highlight in pho.MarkerHighlightables) { highlight.transform.localPosition = new Vector3(highlight.transform.localPosition.x, -0.5f, highlight.transform.localPosition.z); } } }