swap to embeddedresource
authorJackson <9527380+Jaksuhn@users.noreply.github.com>
Thu, 19 Dec 2024 16:40:09 +0000 (17:40 +0100)
committerJackson <9527380+Jaksuhn@users.noreply.github.com>
Thu, 19 Dec 2024 16:40:09 +0000 (17:40 +0100)
Questionable/Controller/CombatModules/BossModModule.cs
Questionable/Questionable.csproj

index 0d04cce1855622d59a05a3cd6c6a980f54a56d73..a26d1c74530922ab4578adce128b7f8cfa30ca2a 100644 (file)
@@ -3,6 +3,7 @@ using Dalamud.Plugin;
 using Dalamud.Plugin.Ipc;
 using Dalamud.Plugin.Ipc.Exceptions;
 using Dalamud.Plugin.Services;
+using Json.Schema;
 using Microsoft.Extensions.Logging;
 using Questionable.Model;
 using System;
@@ -22,6 +23,7 @@ internal sealed class BossModModule(ILogger<BossModModule> logger, MovementContr
     private readonly ICallGateSubscriber<string, bool> _setPreset = pluginInterface.GetIpcSubscriber<string, bool>($"{Name}.Presets.SetActive");
     private readonly ICallGateSubscriber<bool> _clearPreset = pluginInterface.GetIpcSubscriber<bool>($"{Name}.Presets.ClearActive");
 
+    private static Stream Preset => typeof(BossModModule).Assembly.GetManifestResourceStream("Questionable.Controller.CombatModules.BossModPreset")!;
     private DateTime _lastDistanceCheck = DateTime.MinValue;
 
     public bool CanHandleFight(CombatController.CombatData combatData)
@@ -40,10 +42,11 @@ internal sealed class BossModModule(ILogger<BossModModule> logger, MovementContr
     {
         try
         {
-            _logger.LogInformation("Starting {Name}", Name);
-            var path = Path.Combine(pluginInterface.AssemblyLocation.DirectoryName!, @"Controller\CombatModules\BossModPreset.json");
             if (_getPreset.InvokeFunc("Questionable") == null)
-                _logger.LogInformation("Loading Questionable BossMod Preset: {LoadedState}", _createPreset.InvokeFunc(File.ReadAllText(path), true));
+            {
+                using var reader = new StreamReader(Preset);
+                _logger.LogInformation("Loading Questionable BossMod Preset: {LoadedState}", _createPreset.InvokeFunc(reader.ReadToEnd(), true));
+            }
             _setPreset.InvokeFunc("Questionable");
             _lastDistanceCheck = DateTime.Now;
             return true;
index eb91f928b9c2d647af16c2295d82fc7f68a9a0e7..544ba74e80021469a543be96e59e9569b6d06ed1 100644 (file)
@@ -26,8 +26,8 @@
 
        <ItemGroup>
                <None Remove="Controller\CombatModules\BossModPreset.json" />
-               <Content Include="Controller\CombatModules\BossModPreset.json">
-                       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-               </Content>
+               <EmbeddedResource Include="Controller\CombatModules\BossModPreset.json">
+                       <LogicalName>Questionable.Controller.CombatModules.BossModPreset</LogicalName>
+               </EmbeddedResource>
        </ItemGroup>
 </Project>