internal void Check(Slack slack) { try { var whosin = Singleton <NetworkData> .Instance.CertainHosts().Select(h => h.Owner).Distinct(); foreach (var item in Notes.ToArray()) { var who = slack.GetUser(item.Who); var name = "@" + who.Name; if (whosin.Contains(name, System.StringComparer.CurrentCultureIgnoreCase)) { var im = slack.Ims.FirstOrDefault(i => i.Name == who.Id); if (im == null) { im = who.OpenIm(); } slack.SendMessage(im.Id, "Reminder: " + item.Text); Notes.Remove(item); } } PersistentSingleton <Reminders> .Dirty(); } catch (Exception c) { Console.WriteLine(c); } }
protected void Awake () { if (instance == null) { DontDestroyOnLoad(gameObject); instance = this; } else if (instance != this) { Destroy(gameObject); } }
public void Enable() { PersistentSingleton <Settings> .TouchInstance(); PersistentSingleton <UISingleton> .TouchInstance(); UISingleton.RegMenuButton(); ApplyPatches(); }
public void Start() { PersistentSingleton <Settings> .TouchInstance(); BSMLSettings.instance.AddSettingsMenu("SnapTurn", "SnapTurn.Views.SnapTurnSettings.bsml", Settings.instance); GameplaySetup.instance.AddTab("SnapTurn", "SnapTurn.Views.SnapTurnModifiers.bsml", Settings.instance); SceneManager.sceneLoaded += OnSceneLoaded; StartTurnManager(); }
protected void Awake() { if (instance == null) { DontDestroyOnLoad(gameObject); instance = this; } else if (instance != this) { Destroy(gameObject); } }
public void Start() { PersistentSingleton <Settings> .TouchInstance(); PersistentSingleton <UISingleton> .TouchInstance(); UISingleton.RegMenuButton(); SceneManager.sceneLoaded += OnSceneLoaded; SetupDirectories(); InitBackground(); ApplyPatches(); }
public void Start() { PersistentSingleton <Settings> .TouchInstance(); PersistentSingleton <UISingleton> .TouchInstance(); UISingleton.RegMenuButton(); BSMLSettings.instance.AddSettingsMenu("ARCompanion", "ARCompanion.Views.SettingsMenu.bsml", Settings.instance); SceneManager.sceneLoaded += OnSceneLoaded; InitBackground(); }
private void Awake() { if (instance != null) { Debug.Log("Destroy " + Tag + " " + gameObject.name); Destroy(gameObject); } else { Debug.Log("Assign this " + Tag + " instance with name " + gameObject.name); instance = this; DontDestroyOnLoad(gameObject); } }
public void OnApplicationStart() { PersistentSingleton <ConfigOptions> .TouchInstance(); var harmonyInstance = HarmonyInstance.Create("com.kylon99.beatsaber.alternativeplay"); harmonyInstance.PatchAll(Assembly.GetExecutingAssembly()); if (alternativePlayUI == null) { alternativePlayUI = new GameObject(nameof(AlternativePlayUI)) .AddComponent <AlternativePlayUI>(); } BSEvents.gameSceneLoaded += this.OnGameSceneLoaded; }
public void OnStart() { PersistentSingleton <CustomSabersMod> .TouchInstance(); PersistentSingleton <ConfigOptions> .TouchInstance(); PersistentSingleton <CustomMenuPointers> .TouchInstance(); if (this.customMenuPointersUI == null) { this.customMenuPointersUI = new GameObject(nameof(CustomMenuPointersUI)).AddComponent <CustomMenuPointersUI>(); } BSEvents.menuSceneLoadedFresh += this.OnMenuSceneLoadedFresh; BSEvents.menuSceneLoaded += this.OnMenuSceneLoaded; BSEvents.gameSceneLoaded += this.OnGameSceneLoaded; }
public void Start() { PersistentSingleton <Configuration> .TouchInstance(); Configuration.instance.LoadConfiguration(); var harmonyInstance = new Harmony("com.kylon99.beatsaber.alternativeplay"); harmonyInstance.PatchAll(Assembly.GetExecutingAssembly()); PersistentSingleton <BehaviorCatalog> .TouchInstance(); BehaviorCatalog.instance.LoadStartBehaviors(); BSEvents.gameSceneLoaded += this.OnGameSceneLoaded; BSEvents.menuSceneLoaded += this.OnMenuSceneLoaded; BSEvents.lateMenuSceneLoadedFresh += this.LateMenuSceneLoadedFresh; }
public void OnStart() { PersistentSingleton <InputManager> .TouchInstance(); PersistentSingleton <TrackedDeviceManager> .TouchInstance(); if (this.stageDressingUI == null) { this.stageDressingUI = new GameObject(nameof(StageDressingUI)).AddComponent <StageDressingUI>(); } PersistentSingleton <StageManager> .TouchInstance(); StageManager.instance.LoadConfiguration(); TrackedDeviceManager.instance.StageDressing = this; StageManager.instance.LoadPrefabs(); BSEvents.OnLoad(); BSEvents.menuSceneLoaded += this.MenuSceneLoaded; BSEvents.lateMenuSceneLoadedFresh += this.LateMenuSceneLoadedFresh; BSEvents.gameSceneLoaded += this.GameSceneLoaded; }
public bool IsValidTool() { var fing = Process.GetProcessesByName("fing"); if (fing.Length > 0) { fing.First().Close(); } try { var settings = PersistentSingleton <Settings> .Instance; if (string.IsNullOrEmpty(settings.FingXml)) { settings.FingXml = "fing.xml"; } if (string.IsNullOrEmpty(settings.FingArgs)) { settings.FingArgs = /*"--session data.dat " + */ "-o table,xml,fing.xml -o table,csv,console"; } var psi = new ProcessStartInfo("fing", settings.FingArgs) { UseShellExecute = true, CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden, }; Process.Start(psi); if (string.IsNullOrEmpty(settings.FingArgs)) { PersistentSingleton <Settings> .Dirty(); } return(true); } catch (System.ComponentModel.Win32Exception) { } return(false); }
public void OnApplicationStart() { PersistentSingleton <ConfigOptions> .TouchInstance(); beatSpearModifiersUI = new GameObject(nameof(BeatSpearModifiersUI)).AddComponent <BeatSpearModifiersUI>(); }
static void Main(string[] args) { //AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException; AppDomain.CurrentDomain.UnhandledException += AppDomain_CurrentDomain_UnhandledException; string confdir; Directory.CreateDirectory(confdir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Fingbot")); Environment.CurrentDirectory = confdir; PersistentSingleton <Settings> .SavePath = "config.json"; #if REMINDERS PersistentSingleton <Reminders> .SavePath = "reminders.json"; #endif var settings = PersistentSingleton <Settings> .Instance; Singleton <NetworkData> .Instance.Refresh(); //var missing = Singleton<NetworkData>.Instance.PickIncompleteHost(); Singleton <NetworkData> .Instance.Save(); var Slacks = settings.Tokens.Select(token => new Slack(token)).ToArray(); if (Slacks.Length == 0) { Slack slack = new Slack(); bool Authed = false; do { if (String.IsNullOrEmpty(settings.Token)) { Console.WriteLine("Please obtain a Token, and paste it below:"); settings.Token = Console.ReadLine(); PersistentSingleton <Settings> .Save(); } slack = new Slack(settings.Token); Authed = slack.Init(); if (!Authed) { settings.Token = ""; } } while (Authed == false); Slacks = new Slack[] { slack }; } foreach (var slack in Slacks) { slack.OnEvent += slack_OnEvent; Console.WriteLine("Connecting..."); slack.Connect(); Running = true; //var idlefunc = new Thread(new ThreadStart(IdleFunc(slack))); //idlefunc.Start(); } int attempts = 0; while (Running) { foreach (var slack in Slacks) { if (!slack.Connected) { try { Console.WriteLine("Reconnecting..."); slack.Connect(); attempts = 0; } catch (WebException c) { Console.WriteLine(c); Thread.Sleep(new TimeSpan(0, attempts++, 1)); // Longer wait, because something's wrong. } } Thread.Sleep(1000); } } }
static void slack_OnEvent(object sender, SlackEventArgs e) { try { var instance = sender as Slack; var network = Singleton <NetworkData> .Instance; if (!Idlefuncs.ContainsKey(instance) || !Idlefuncs[instance].IsAlive) { Idlefuncs[instance] = new Thread(new ThreadStart(IdleFunc(instance))); Idlefuncs[instance].Start(); } //LogglyInst.Log(e.Data); if (e.Data.Type == "hello") { Console.WriteLine(string.Format("Connected to {0}.", instance.TeamInfo.Name)); var settings = PersistentSingleton <Settings> .Instance; if (!settings.HasDoneIntroSpiel) { var channel = instance.PrimaryChannel.IsMember ? instance.PrimaryChannel : instance.JoinedChannels.FirstOrDefault(); HelpCommand.Introduce(instance, channel); PersistentSingleton <Settings> .Save(); } } if (e.Data is Message) { network.Refresh(); var message = e.Data as Message; if (message.Hidden) { return; } var substMessage = SubstituteMarkup(message.Text, sender as Slack); Console.WriteLine(SubstituteMarkup(message.ToString(), sender as Slack)); if (message.User == instance.Self.Id) { return; } bool targeted = substMessage.StartsWith(string.Concat("@", instance.Self.Name), StringComparison.InvariantCultureIgnoreCase); if (message.Channel[0] == 'D') { targeted = true; } foreach (var cmd in Commands) { bool fired = cmd.Run(substMessage, message, targeted, instance); if (fired) { return; } } // Leave this one here for now /* **** * Restart. * ****/ var pmatch = Regex.Match( SubstituteMarkup(message.Text, sender as Slack), @"Re(start|boot)", RegexOptions.IgnoreCase); if (targeted && pmatch.Success) { instance.SendMessage(message.Channel, "Rebooting!"); Running = false; } } } catch (Exception c) { Console.WriteLine("!An Error has been caught!\n{0}", c); } }