static void Main(string[] args) { var assembly = typeof(Program).Assembly; var fileVersion = assembly.GetCustomAttribute <AssemblyFileVersionAttribute>(); #if DEBUG var buildType = "Debug"; #else var buildType = "Release"; #endif Console.WriteLine($"OpenPackage (HydraEd {fileVersion.Version}/{buildType})"); if (args.Length == 0) { Console.WriteLine("Error: Run this tool again with the file path specified."); return; } var filename = string.Join(' ', args); using var file = File.OpenRead(filename); var package = new Package(file); Application.Init(); var app = new Application("com.alex.hydra.devtool", GLib.ApplicationFlags.None); app.Register(GLib.Cancellable.Current); var win = new Window(WindowType.Toplevel); var drawingArea = new DrawingArea(); win.SetSizeRequest(256, 256); drawingArea.SetSizeRequest(256, 256); var actorTree = new ActorTree(package); var gtkRenderer = new GtkRenderer(drawingArea); var hydra = new HydraEngine(actorTree, gtkRenderer); gtkRenderer.LinkTo(hydra); win.DeleteEvent += (object sender, DeleteEventArgs args) => { Application.Quit(); }; win.Child = drawingArea; app.AddWindow(win); win.ShowAll(); drawingArea.QueueDraw(); Application.Run(); }
public void LinkTo(HydraEngine hydra) { _hydra = hydra; }