/// <summary> /// Initializes a new instance of the <see cref="MainWindow"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> public MainWindow(PlayerTrackPlugin plugin) : base(plugin, "PlayerTrack") { this.plugin = plugin; // set to none on load if left on player detail if (this.plugin.Configuration.CurrentView == View.PlayerDetail) { this.plugin.Configuration.CurrentView = View.None; this.plugin.SaveConfig(); } // set window sizes this.SetWindowSizes(); this.Size = this.plugin.Configuration.CurrentView != View.None ? this.MaximizedSize : this.MinimizedSize; // set lock state if (this.plugin.Configuration.LockWindow) { this.LockWindow(); } else { this.UnlockWindow(); } // open window this.IsOpen = this.plugin.Configuration.ShowWindow; }
/// <summary> /// Initializes a new instance of the <see cref="Panel"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> public Panel(PlayerTrackPlugin plugin) { this.plugin = plugin; // set world names for add player this.worldNames = PlayerTrackPlugin.DataManager.WorldNames(); }
/// <summary> /// Initializes a new instance of the <see cref="PlayerDetailWindow"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> public PlayerDetailWindow(PlayerTrackPlugin plugin) : base(plugin, "PlayerTrack###PlayerDetail") { this.plugin = plugin; // set to none on load if left on player detail if (this.plugin.Configuration.CurrentView == View.PlayerDetail) { this.plugin.Configuration.CurrentView = View.None; this.plugin.SaveConfig(); } // set lock state if (this.plugin.Configuration.LockWindow) { this.LockWindow(); } else { this.UnlockWindow(); } // open window this.IsOpen = true; }
/// <summary> /// Initializes a new instance of the <see cref="ConfigWindow"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> public ConfigWindow(PlayerTrackPlugin plugin) : base(plugin, "PlayerTrack Config") { this.plugin = plugin; this.Size = new Vector2(1500f, 400f); this.SizeCondition = ImGuiCond.Appearing; this.RespectCloseHotkey = true; }
/// <summary> /// Initializes a new instance of the <see cref="VisibilityService"/> class. /// </summary> /// <param name="plugin">player track plugin.</param> public VisibilityService(PlayerTrackPlugin plugin) { this.plugin = plugin; this.visibilityConsumer = new VisibilityConsumer(); this.syncTimer = new Timer { Interval = this.plugin.Configuration.SyncWithVisibilityFrequency, Enabled = false }; this.syncTimer.Elapsed += this.SyncTimerOnElapsed; if (this.plugin.Configuration.SyncWithVisibility) { this.IsVisibilityAvailable = this.visibilityConsumer.IsAvailable(); if (this.IsVisibilityAvailable) { this.SyncWithVisibility(); } } }
/// <summary> /// Initializes a new instance of the <see cref="FCNameColorService"/> class. /// </summary> /// <param name="plugin">player track plugin.</param> public FCNameColorService(PlayerTrackPlugin plugin) { this.plugin = plugin; this.fCNameColorConsumer = new FCNameColorConsumer(); this.localPlayerRegex = new Regex(@"^(?<playerName>[^@]*)@(?<playerWorldName>[^ ]*) (?<playerId>[0-9]*)", RegexOptions.Compiled); this.freeCompanyRegex = new Regex(@"^(?<playerId>[^ ]*) (?<freeCompanyId>[^ ]*) (?<freeCompanyName>[^ ]*)", RegexOptions.Compiled); this.syncTimer = new Timer { Interval = this.plugin.Configuration.SyncWithFCNameColorFrequency, Enabled = false }; this.syncTimer.Elapsed += this.SyncTimerOnElapsed; if (this.plugin.Configuration.SyncWithFCNameColor) { this.IsFCNameColorAvailable = this.fCNameColorConsumer.IsAvailable(); if (this.IsFCNameColorAvailable) { this.SyncWithFCNameColor(); } } }
/// <summary> /// Initializes a new instance of the <see cref="WindowManager"/> class. /// </summary> /// <param name="playerTrackPlugin">PlayerTrack plugin.</param> public WindowManager(PlayerTrackPlugin playerTrackPlugin) { this.Plugin = playerTrackPlugin; // create windows this.Panel = new Panel(this.Plugin); this.MainWindow = new MainWindow(this.Plugin); this.ConfigWindow = new ConfigWindow(this.Plugin); this.ModalWindow = new ModalWindow(this.Plugin); this.MigrationWindow = new MigrationWindow(this.Plugin); this.PlayerDetailWindow = new PlayerDetailWindow(this.Plugin); // setup window system this.WindowSystem = new WindowSystem("PlayerTrackWindowSystem"); this.WindowSystem.AddWindow(this.MigrationWindow); // add event listeners PlayerTrackPlugin.PluginInterface.UiBuilder.Draw += this.Draw; PlayerTrackPlugin.PluginInterface.UiBuilder.OpenConfigUi += this.OpenConfigUi; }
/// <summary> /// Initializes a new instance of the <see cref="PluginCommandManager"/> class. /// </summary> /// <param name="plugin">plugin.</param> public PluginCommandManager(PlayerTrackPlugin plugin) { this.plugin = plugin; PlayerTrackPlugin.CommandManager.AddHandler("/ptrack", new CommandInfo(this.TogglePlayerTrack) { HelpMessage = "Show/hide PlayerTrack.", ShowInHelp = true, }); PlayerTrackPlugin.CommandManager.AddHandler("/ptrackconfig", new CommandInfo(this.TogglePlayerTrackConfig) { HelpMessage = "Open PlayerTrack settings.", ShowInHelp = true, }); PlayerTrackPlugin.CommandManager.AddHandler("/ptrackintegrity", new CommandInfo(this.RunIntegrityCheck) { HelpMessage = "Clean-up and delete erroneous data from previous versions.", ShowInHelp = true, }); PlayerTrackPlugin.CommandManager.AddHandler("/ptrackowenc", new CommandInfo(this.DeleteOverworldEncounters) { HelpMessage = "Delete overworld encounters from previous versions or settings.", ShowInHelp = true, }); }
/// <summary> /// Initializes a new instance of the <see cref="PluginWindow"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> /// <param name="windowName">Name of the window.</param> /// <param name="flags">ImGui flags.</param> protected PluginWindow(PlayerTrackPlugin plugin, string windowName, ImGuiWindowFlags flags = ImGuiWindowFlags.None) : base(windowName, flags) { this.Plugin = plugin; this.RespectCloseHotkey = this.Plugin.Configuration.RespectCloseHotkey; }
/// <summary> /// Initializes a new instance of the <see cref="PlayerTrackAPI"/> class. /// </summary> /// <param name="plugin">playertrack plugin.</param> public PlayerTrackAPI(PlayerTrackPlugin plugin) { this.plugin = plugin; this.initialized = true; }
/// <summary> /// Initializes a new instance of the <see cref="NamePlateManager"/> class. /// </summary> /// <param name="plugin">plugin.</param> public NamePlateManager(PlayerTrackPlugin plugin) { this.plugin = plugin; this.plugin.XivCommon.Functions.NamePlates.OnUpdate += this.OnNamePlateUpdate; }
/// <summary> /// Initializes a new instance of the <see cref="ModalWindow"/> class. /// </summary> /// <param name="plugin">PlayerTrack plugin.</param> public ModalWindow(PlayerTrackPlugin plugin) : base(plugin, "ModalWindow", ModalFlags) { this.plugin = plugin; }
/// <summary> /// Initializes a new instance of the <see cref="MigrationWindow"/> class. /// </summary> /// <param name="plugin">plugin.</param> public MigrationWindow(PlayerTrackPlugin plugin) : base(plugin, "PlayerTrack Migration") { this.Size = new Vector2(500f, 500f); }