コード例 #1
0
ファイル: Natives.cs プロジェクト: MastaChimp/SharpCraft
 public static void TriggerAddAction(JassTrigger trigger, ManagedActionBase action)
 {
     InternalNatives.TriggerAddAction(trigger, action);
 }
コード例 #2
0
ファイル: Natives.cs プロジェクト: MastaChimp/SharpCraft
 public static void Add(Delegate function)
 {
     InternalNatives.Add(function);
 }
コード例 #3
0
ファイル: GameHack.cs プロジェクト: MastaChimp/SharpCraft
        public static void Initialize()
        {
            try
            {
                if (Kernel32.GetModuleHandle("game.dll") == IntPtr.Zero)
                {
                    throw new Exception("Attempted to initialize " + typeof(GameHack).Name + " before 'game.dll' has been loaded.");
                }

                var sw = (Stopwatch)null;

                sw = new Stopwatch();
                Trace.WriteLine("Initializing addresses . . .");
                Trace.Indent();
                sw.Start();
                GameAddresses.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing functions . . .");
                Trace.Indent();
                sw.Start();
                GameFunctions.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing Game api . . .");
                Trace.Indent();
                sw.Start();
                InternalGame.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing JassMachine api . . .");
                Trace.Indent();
                sw.Start();
                InternalScript.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing Interface api . . .");
                Trace.Indent();
                sw.Start();
                InternalInterface.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing Input api . . .");
                Trace.Indent();
                sw.Start();
                InternalInput.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                sw = new Stopwatch();
                Trace.WriteLine("Initializing Natives api . . .");
                Trace.Indent();
                sw.Start();
                InternalNatives.Initialize();
                sw.Stop();
                Trace.Unindent();
                Trace.WriteLine(" - Done! (" + sw.ElapsedMilliseconds + " ms)");

                GameHack.IsReady = true;
                GameHack.OnReady();
            }
            catch (Exception exception)
            {
                MessageBox.Show(
                    "Fatal exception!" + Environment.NewLine +
                    exception + Environment.NewLine +
                    "Aborting execution!",
                    typeof(GameHack) + ".Initialize()", MessageBoxButton.OK, MessageBoxImage.Error);
                Process.GetCurrentProcess().Kill();
            }
        }
コード例 #4
0
ファイル: Natives.cs プロジェクト: MastaChimp/SharpCraft
 public static void Add(Delegate function, String name)
 {
     InternalNatives.Add(function, name);
 }
コード例 #5
0
 private void triggerAddAction(JassTrigger trigger, ManagedActionBase action)
 {
     InternalNatives.TriggerAddAction(trigger, action);
 }