public override int GetHashCode()
		{
			unchecked
			{
				var hashCode = All.GetHashCode();
				hashCode = hashCode * 397 ^ (KeyboardMouse != null ? KeyboardMouse.GetHashCode() : 0);
				hashCode = hashCode * 397 ^ (Gamepad != null ? Gamepad.GetHashCode() : 0);
				hashCode = hashCode * 397 ^ (Touch != null ? Touch.GetHashCode() : 0);
				return hashCode;
			}
		}
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.Title = "Generate CLI";

            Log("Seed? ");

            var Seed = string.Empty;

            while (true)
            {
                var Key = Console.ReadKey();
                if (Key.Key == ConsoleKey.Enter)
                {
                    Console.WriteLine();
                    break;
                }
                else if (Key.Key == ConsoleKey.Backspace)
                {
                    Console.Write(" ");
                    if (Seed.Length != 0)
                    {
                        Seed = Seed.Substring(0, Seed.Length - 1);
                        Console.Write("\b");
                    }

                    continue;
                }

                Seed += Key.KeyChar;
            }

            Worker.Master = new Master(Seed.ASCIIBytes());

            Constants.Load();

            using (Window = new LoopWindow())
                using (Renderer = new Renderer(Window))
                    using (Overlay = new Overlay(Renderer.Device, Renderer.AntiAliasedBackBuffer))
                        using (Chunks = new ChunkLoader())
                            using (Sun.Main = new Sun(Constants.SunSeed))
                                using (Skybox.Main = new Skybox(Constants.SkySeed))
                                    using (var Loop = Window.Loop())
                                    {
                                        KeyboardMouse.StartCapture();
                                        Watch = new System.Diagnostics.Stopwatch();
                                        Watch.Start();

                                        while (!Close && Loop.NextFrame())
                                        {
                                            Frame();
                                        }
                                    }
        }
Esempio n. 3
0
        /// <summary>
        /// Main logic here
        /// </summary>
        private static int RunAndReturn(Options options)
        {
            AllocConsole();
            ISerialAdaptor serial;

            try
            {
                serial = new DotNetSerialAdaptor(options.ComPort);
            }
            catch (Exception)
            {
                Console.Error.WriteLine($"Cannot open port {options.ComPort}!");
                return(-1);
            }

            _keyboardMouse = new KeyboardMouse(serial);
            _keyboardMouse.SetMouseResolution(options.Width, options.Height);

            Program._options = options;
            _form            = CreateForm(options.Width, options.Height);

            _form.FormClosed += (s, e) =>
            {
                _keyboardMouse.Dispose();
                System.Environment.Exit(0);
            };

            Console.CancelKeyPress += (s, e) =>
            {
                _keyboardMouse.Dispose();
                _form.Dispose();
                System.Environment.Exit(0);
            };

            _form.MouseMove      += MouseMoveEventHandler;
            _form.MouseWheel     += MouseScrollEventHandler;
            _form.MouseDown      += (s, e) => { MousePressReleaseHelper(e, true); };
            _form.MouseUp        += (s, e) => { MousePressReleaseHelper(e, false); };
            _form.KeyDown        += (s, e) => { KeyboardPressReleaseHelper(e, true); };
            _form.PreviewKeyDown += (s, e) => { e.IsInputKey = true; };
            _form.KeyUp          += (s, e) => { KeyboardPressReleaseHelper(e, false); };

            MouseThrottleStopwatch.Start();
            _form.ShowDialog();

            return(0);
        }