Эх сурвалжийг харах

added missing files due to ignore of "Debug" folder

Scrublord1336 6 жил өмнө
parent
commit
beb9a355d2

+ 1 - 1
src/XUnity.AutoTranslator.Plugin.Core/AutoTranslationPlugin.cs

@@ -24,7 +24,7 @@ using XUnity.AutoTranslator.Plugin.Core.IMGUI;
 using XUnity.AutoTranslator.Plugin.Core.Hooks.NGUI;
 using UnityEngine.SceneManagement;
 using XUnity.AutoTranslator.Plugin.Core.Constants;
-using XUnity.AutoTranslator.Plugin.Core.Debug;
+using XUnity.AutoTranslator.Plugin.Core.Debugging;
 
 namespace XUnity.AutoTranslator.Plugin.Core
 {

+ 29 - 0
src/XUnity.AutoTranslator.Plugin.Core/Debugging/DebugConsole.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace XUnity.AutoTranslator.Plugin.Core.Debugging
+{
+   public static class DebugConsole
+   {
+      private static IntPtr _consoleOut;
+
+      public static void Enable()
+      {
+         var oldConsoleOut = Kernel32.GetStdHandle( -11 );
+         if( !Kernel32.AllocConsole() ) return;
+
+         _consoleOut = Kernel32.CreateFile( "CONOUT$", 0x40000000, 2, IntPtr.Zero, 3, 0, IntPtr.Zero );
+         if( !Kernel32.SetStdHandle( -11, _consoleOut ) ) return;
+
+         Stream stream = Console.OpenStandardOutput();
+         StreamWriter writer = new StreamWriter( stream, Encoding.Default );
+         writer.AutoFlush = true;
+
+         Console.SetOut( writer );
+         Console.SetError( writer );
+      }
+   }
+}

+ 36 - 0
src/XUnity.AutoTranslator.Plugin.Core/Debugging/Kernel32.cs

@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace XUnity.AutoTranslator.Plugin.Core.Debugging
+{
+   public static class Kernel32
+   {
+      [DllImport( "kernel32.dll", SetLastError = true )]
+      public static extern bool AllocConsole();
+
+      [DllImport( "kernel32.dll", SetLastError = false )]
+      public static extern bool FreeConsole();
+
+      [DllImport( "kernel32.dll", SetLastError = true )]
+      public static extern IntPtr GetStdHandle( int nStdHandle );
+
+      [DllImport( "kernel32.dll", SetLastError = true )]
+      public static extern bool SetStdHandle( int nStdHandle, IntPtr hConsoleOutput );
+
+      [DllImport( "kernel32.dll", CharSet = CharSet.Auto, SetLastError = true )]
+      public static extern IntPtr CreateFile(
+              string fileName,
+              int desiredAccess,
+              int shareMode,
+              IntPtr securityAttributes,
+              int creationDisposition,
+              int flagsAndAttributes,
+              IntPtr templateFile );
+
+      [DllImport( "kernel32.dll", ExactSpelling = true, SetLastError = true )]
+      public static extern bool CloseHandle( IntPtr handle );
+   }
+}