Ejemplo n.º 1
0
        public static void Start()
        {
            AppDomain.CurrentDomain.AssemblyResolve    += CurrentDomain_AssemblyResolve;
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            Assembly nuterra = LoadAssemblyFromModsFolder("Nuterra.dll");

            if (nuterra == null)
            {
                return;
            }
            Console.WriteLine("Nuterra assembly loaded");

            Assembly nuterraUI = LoadAssemblyFromModsFolder("Nuterra.UI.dll");

            if (nuterraUI != null)
            {
                Console.WriteLine("Nuterra.UI assembly loaded");
                Type       nuterraUIMain = nuterraUI.GetType("Nuterra.UI.NuterraGUI");
                MethodInfo UIstart       = nuterraUIMain.GetMethod("Start", BindingFlags.Static | BindingFlags.NonPublic);
                UIstart.Invoke(null, new object[] { });
            }


            Type       nuterraMain = nuterra.GetType("Nuterra.NuterraApi");
            MethodInfo start       = nuterraMain.GetMethod("Start", BindingFlags.Static | BindingFlags.NonPublic);

            start.Invoke(null, new object[] { });

            var test = new MousePointer();
        }
 /// <inheritdoc />
 public bool CancelPointer(Pointer pointer, bool shouldReturn)
 {
     if (pointer.Equals(mousePointer))
     {
         cancelPointer(mousePointer);
         if (shouldReturn)
         {
             mousePointer = internalReturnPointer(mousePointer);
         }
         else
         {
             mousePointer = internalAddPointer(mousePointer.Position);  // can't totally cancel mouse pointer
         }
         return(true);
     }
     if (pointer.Equals(fakeMousePointer))
     {
         cancelPointer(fakeMousePointer);
         if (shouldReturn)
         {
             fakeMousePointer = internalReturnPointer(fakeMousePointer);
         }
         else
         {
             fakeMousePointer = null;
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 3
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Accelerators.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ (BackColor?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (ForeColor?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ Items.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ ListIndex.GetHashCode();
         hashCode = (hashCode * 397) ^ MajorVersion.GetHashCode();
         hashCode = (hashCode * 397) ^ MinorVersion.GetHashCode();
         hashCode = (hashCode * 397) ^ (MouseIcon?.Length.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ MousePointer.GetHashCode();
         hashCode = (hashCode * 397) ^ PropMask.GetHashCode();
         hashCode = (hashCode * 397) ^ Remainder.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ Size.GetHashCode();
         hashCode = (hashCode * 397) ^ TabData.GetHashCode();
         hashCode = (hashCode * 397) ^ TabFixedHeight.GetHashCode();
         hashCode = (hashCode * 397) ^ TabFixedWidth.GetHashCode();
         hashCode = (hashCode * 397) ^ TabNames.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ TabOrientation.GetHashCode();
         hashCode = (hashCode * 397) ^ TabsAllocated.GetHashCode();
         hashCode = (hashCode * 397) ^ TabStyle.GetHashCode();
         hashCode = (hashCode * 397) ^ Tags.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ TextProps.GetHashCode();
         hashCode = (hashCode * 397) ^ TipStrings.Length.GetHashCode();
         hashCode = (hashCode * 397) ^ VariousPropertyBits.GetHashCode();
         return(hashCode);
     }
 }
Ejemplo n.º 4
0
        // ReSharper disable once UnusedParameter.Local
        public GraphicsSettings(string nonUsed)
        {
            clock             = new Clock();
            mousePointer      = new MousePointer();
            backgroundTexture = new Texture(Resources.MenuBG);
            background        = new Sprite(backgroundTexture)
            {
                Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY)
            };

            buttons = new List <Button>
            {
                new Button("1920x1080", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 20 / 50f)),
                new Button("1366x768", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 26 / 50f)),
                new Button("1280x720", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 32 / 50f)),
                new Button("1280x800", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 38 / 50f)),
                new Button("1024x600", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 44 / 50f)),

                new Button("Windowed 1920x1080", new Vector2f(WindowProperties.WindowWidth * 0.7f, WindowProperties.WindowHeight * 20 / 50f)),
                new Button("Windowed 1366x768", new Vector2f(WindowProperties.WindowWidth * 0.7f, WindowProperties.WindowHeight * 26 / 50f)),
                new Button("Windowed 1280x720", new Vector2f(WindowProperties.WindowWidth * 0.7f, WindowProperties.WindowHeight * 32 / 50f)),
                new Button("Windowed 1280x800", new Vector2f(WindowProperties.WindowWidth * 0.7f, WindowProperties.WindowHeight * 38 / 50f)),
                new Button("Windowed 1024x600", new Vector2f(WindowProperties.WindowWidth * 0.7f, WindowProperties.WindowHeight * 44 / 50f))
            };
        }
Ejemplo n.º 5
0
        public Level1(IPlayer player)
        {
            backgroundTexture = new Texture(Resources.LevelBG);
            background        = new Sprite(backgroundTexture)
            {
                Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY)
            };

            this.player = player;

            mousePointer = new MousePointer();

            enemyFactory     = new EnemyFactory();
            enemies          = new List <IEnemy>();
            enemyBullets     = new List <Bullet>();
            explosionFactory = new ExplosionFactory();
            explosions       = new List <Explosion>();
            levelClock       = new Clock();

            digitalClockFont = new Font(Resources.FontDigitalClock);
            digitalClock     = new Text("", digitalClockFont, 30)
            {
                Position = new Vector2f(WindowProperties.WindowWidth * 30 / 32,
                                        WindowProperties.WindowHeight * 30 / 32),
                Color = new Color(Color.White)
            };

            backgroundMusic = new Music(Resources.LevelBGMusic)
            {
                Loop = true
            };
            backgroundMusic.Play();
        }
Ejemplo n.º 6
0
    void addCursor(int deviceId)
    {
        if (pointersByDeviceId.ContainsKey(deviceId))
        {
            return;
        }

        if (!isInit)
        {
            Debug.LogError("Not initialized");
            return;
        }

        MousePointer mp = null;

        pointersByDeviceId.TryGetValue(deviceId, out mp);
        if (mp != null)
        {
            Debug.LogError("This device already has a cursor");
            return;
        }

        mp          = new MousePointer();
        mp.deviceID = deviceId;
        pointersByDeviceId[deviceId] = mp;
        mp.position    = new Vector3(0, 0, 0);
        mp.sensitivity = defaultMiceSensitivity;

        mp.obj  = Instantiate(prefabCursor, miceCount == 0 ? canvas.transform : canvas2.transform);
        mp.cam  = (miceCount == 0 ? camera1 : camera2);
        mp.canv = (miceCount == 0 ? canvas : canvas2);


        ++miceCount;
    }
 /// <summary>
 /// Cancels the mouse pointer.
 /// </summary>
 public void CancelMousePointer()
 {
     if (mousePointer != null)
     {
         cancelPointer(mousePointer);
         mousePointer = null;
     }
 }
Ejemplo n.º 8
0
    void Start()
    {
        UnitManager = GameObject.Find("UnitManager").GetComponent <UnitManager>();
        GenerateMapData();
        GeneratePathfindingGraph();
        GenerateMapVisuals();

        MousePointer = gameObject.GetComponent <MousePointer>();
    }
Ejemplo n.º 9
0
        public void AskNameForMultiplayer(object sender, MousePointer mousePointer, Controler controler, Vector2 clickPosition)
        {
            controler.Camera.LookAt(new Vector2(0, 0));
            ClearScene();
            var ti = new TextinputBox(controler.TextureManager.CreateTexture(200, 50, e => Color.Black), controler.Fonts["Default"], controler.KeyboardUtils, false);

            ti.Validated += ConnectToServer;
            instance.sprites.Add(ti);
        }
Ejemplo n.º 10
0
        public static CursorManager Install(MousePointer original)
        {
            GameObject owner   = original.gameObject;
            var        manager = owner.EnsureComponent <CursorManager>();

            GameObject.Destroy(original);
            manager.Setup(original);
            return(manager);
        }
Ejemplo n.º 11
0
 public void ResetToNewResolution()
 {
     background.Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY);
     for (var i = 0; i < buttons.Count; i++)
     {
         buttons[i].SetPosition(new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * (20 + 6 * i) / 50f));
     }
     mousePointer = new MousePointer();
 }
Ejemplo n.º 12
0
 public void SortSpriteToDebug(List <Sprite> _sprites)
 {
     ClearDebugMember();
     foreach (var sprite in _sprites)
     {
         if (sprite is MousePointer pointer)
         {
             debugMouse = pointer;
         }
     }
 }
Ejemplo n.º 13
0
 void Start()
 {
     //Singleton pattern.
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != this)
     {
         Destroy(gameObject);
     }
 }
Ejemplo n.º 14
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Releases resources.
 /// </summary>
 public void Dispose()
 {
     if (mousePointer != null)
     {
         cancelPointer(mousePointer);
         mousePointer = null;
     }
     if (fakeMousePointer != null)
     {
         cancelPointer(fakeMousePointer);
         fakeMousePointer = null;
     }
 }
Ejemplo n.º 16
0
        protected MousePointer internalReturnMousePointer(MousePointer pointer)
        {
            var newPointer = mousePool.Get();

            newPointer.CopyFrom(pointer);
            newPointer.Flags |= Pointer.FLAG_RETURNED;
            addPointer(newPointer);
            if ((newPointer.Buttons & Pointer.PointerButtonState.AnyButtonPressed) != 0)
            {
                // Adding down state this frame
                newPointer.Buttons = PointerUtils.DownPressedButtons(newPointer.Buttons);
                pressPointer(newPointer);
            }
            return(newPointer);
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MouseHandler" /> class.
        /// </summary>
        /// <param name="addPointer">A function called when a new pointer is detected.</param>
        /// <param name="updatePointer">A function called when a pointer is moved or its parameter is updated.</param>
        /// <param name="pressPointer">A function called when a pointer touches the surface.</param>
        /// <param name="releasePointer">A function called when a pointer is lifted off.</param>
        /// <param name="removePointer">A function called when a pointer is removed.</param>
        /// <param name="cancelPointer">A function called when a pointer is cancelled.</param>
        public MouseHandler(PointerDelegate addPointer, PointerDelegate updatePointer, PointerDelegate pressPointer, PointerDelegate releasePointer, PointerDelegate removePointer, PointerDelegate cancelPointer)
        {
            this.addPointer     = addPointer;
            this.updatePointer  = updatePointer;
            this.pressPointer   = pressPointer;
            this.releasePointer = releasePointer;
            this.removePointer  = removePointer;
            this.cancelPointer  = cancelPointer;

            mousePool = new ObjectPool <MousePointer>(4, () => new MousePointer(this), null, resetPointer);

            mousePointPos = Input.mousePosition;
            mousePointer  = internalAddPointer(remapCoordinates(mousePointPos));

            stateMouse();
        }
Ejemplo n.º 18
0
 public Menu()
 {
     mousePointer      = new MousePointer();
     backgroundTexture = new Texture(Resources.MenuBG);
     background        = new Sprite(backgroundTexture)
     {
         Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY)
     };
     buttons = new List <Button>
     {
         new Button("START", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 20 / 50f)),
         new Button("HOW TO PLAY", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 26 / 50f)),
         new Button("GRAPHICS", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 32 / 50f)),
         new Button("CREDITS", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 38 / 50f)),
         new Button("EXIT", new Vector2f(WindowProperties.WindowWidth * 0.3f, WindowProperties.WindowHeight * 44 / 50f))
     };
 }
Ejemplo n.º 19
0
        public Controler(GameWindow gameWindow, Dictionary <string, SpriteFont> Fonts, List <Sprite> sprites, GraphicsDeviceManager Graphics, ContentManager content, SpriteBatch spriteBatch, Vector2 Bounds)
        {
            ScripterManager.InstanceCreated += OnScripteManagerCreation;
            IsTextInputBoxFocused            = false;
            action         = new List <Action <object> >();
            actionArg      = new List <object>();
            KeyboardUtils  = new KeyboardUtils();
            RenderManager  = new RenderManager(sprites, Graphics, spriteBatch);
            TextureManager = new TextureManager(Graphics, content, spriteBatch, RenderManager, Fonts);
            DebugManager   = new DebugManager(TextureManager, Fonts, Graphics);
            Terminal       = new Terminal(TextureManager.CreateTexture(700, 30, paint => Color.Black), Fonts["Default"], this)
            {
                Position = new Vector2(0, 185)
            };
            NetworkManager = new NetworkManager(this, Terminal);

            window            = gameWindow;
            window.TextInput += OnTextInput;

            KeyboardUtils.KeyPressed   += DebugManager.AddEvent;
            KeyboardUtils.KeyRealeased += DebugManager.AddEvent;

            this.Bounds = Bounds;
            _sprites    = sprites;
            this.Fonts  = Fonts;
            graphics    = Graphics;

            Camera            = new Camera(new Vector2(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight));
            TerminalTexintput = new TextinputBox(TextureManager.CreateTexture(700, 35, paint => Color.Black * .8f), Fonts["Default"], KeyboardUtils, true)
            {
                IsHUD = true, Position = new Vector2(0, 695), Opacity = 0f,
            };
            TerminalTexintput.Validated += Terminal.OnTextinputValidation;

            MousePointer = new MousePointer(TextureManager.LoadTexture("cursor"));
            _sprites.Add(Terminal);
            _sprites.Add(TerminalTexintput);
            _sprites.Add(MousePointer);

            ScripterManager.Instance.CreateMenu();
            InitKeyEvent();
        }
Ejemplo n.º 20
0
        public override void Load()
        {
            base.Load();

            if (Config == null)
            {
                LogError($"No configuration section");
                return;
            }
            if (_manager == null)
            {
                MousePointer pointer = FindMousePointer();
                if (pointer == null)
                {
                    LogError($"Unable to find MousePointer instance");
                    return;
                }
                _manager = CursorManager.Install(pointer);
            }
            OverrideCursors();
        }
Ejemplo n.º 21
0
        public ImageFrame GetSpecialFrame(MousePointer key)
        {
            MouseTimer.Update(DwarfTime.LastTime);

            if (key == MousePointer.Wait)
            {
                Point frame = MouseFrames[key];

                if (MouseTimer.HasTriggered)
                {
                    WaitIndex = (WaitIndex + 1) % 6;
                }

                frame.X += WaitIndex;
                return(GetMouseFrame(frame));
            }
            else
            {
                return(GetMouseFrame(MouseFrames[key]));
            }
        }
Ejemplo n.º 22
0
        public Level2(IPlayer player)
        {
            backgroundTexture = new Texture(Resources.LevelBG);
            background        = new Sprite(backgroundTexture)
            {
                Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY)
            };
            this.player = player;

            mousePointer = new MousePointer();

            enemyFactory     = new EnemyFactory();
            enemies          = new List <IEnemy>();
            explosionFactory = new ExplosionFactory();
            explosions       = new List <Explosion>();
            levelClock       = new Clock();

            backgroundMusic = new Music(Resources.LevelBGMusic)
            {
                Loop = true
            };
            backgroundMusic.Play();
        }
Ejemplo n.º 23
0
 public void LaunchSinglePlayer(object sender, MousePointer mousePointer, Controler controler, Vector2 clickPosition)
 {
 }
Ejemplo n.º 24
0
 public UiManager()
 {
     _activeScreens = new List<Screen>();
     _mousePointer = new MousePointer();
     StyleManager = new StyleManager();
 }
Ejemplo n.º 25
0
 public void SetMousePointer(MousePointer.CursorType type)
 {
     _mousePointer.Type = type;
 }
Ejemplo n.º 26
0
        private void nativePointer(int id, PointerEvent evt, PointerType type, Vector2 position, PointerData data)
        {
            switch (type)
            {
            case PointerType.Mouse:
                switch (evt)
                {
                // Enter and Exit are not used - mouse is always present
                // TODO: how does it work with 2+ mice?
                case PointerEvent.Enter:
                    throw new NotImplementedException("This is not supposed to be called o.O");

                case PointerEvent.Leave:
                    break;

                case PointerEvent.Down:
                    mousePointer.Buttons = updateButtons(mousePointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    pressPointer(mousePointer);
                    break;

                case PointerEvent.Up:
                    mousePointer.Buttons = updateButtons(mousePointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    releasePointer(mousePointer);
                    break;

                case PointerEvent.Update:
                    mousePointer.Position = remapCoordinates(position);
                    mousePointer.Buttons  = updateButtons(mousePointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    updatePointer(mousePointer);
                    break;

                case PointerEvent.Cancelled:
                    cancelPointer(mousePointer);
                    // can't cancel the mouse pointer, it is always present
                    mousePointer = internalAddMousePointer(mousePointer.Position);
                    break;
                }
                break;

            case PointerType.Touch:
                TouchPointer touchPointer;
                switch (evt)
                {
                case PointerEvent.Enter:
                    break;

                case PointerEvent.Leave:
                    // Sometimes Windows might not send Up, so have to execute touch release logic here.
                    // Has been working fine on test devices so far.
                    if (winTouchToInternalId.TryGetValue(id, out touchPointer))
                    {
                        winTouchToInternalId.Remove(id);
                        internalRemoveTouchPointer(touchPointer);
                    }
                    break;

                case PointerEvent.Down:
                    touchPointer          = internalAddTouchPointer(position);
                    touchPointer.Rotation = getTouchRotation(ref data);
                    touchPointer.Pressure = getTouchPressure(ref data);
                    winTouchToInternalId.Add(id, touchPointer);
                    break;

                case PointerEvent.Up:
                    break;

                case PointerEvent.Update:
                    if (!winTouchToInternalId.TryGetValue(id, out touchPointer))
                    {
                        return;
                    }
                    touchPointer.Position = remapCoordinates(position);
                    touchPointer.Rotation = getTouchRotation(ref data);
                    touchPointer.Pressure = getTouchPressure(ref data);
                    updatePointer(touchPointer);
                    break;

                case PointerEvent.Cancelled:
                    if (winTouchToInternalId.TryGetValue(id, out touchPointer))
                    {
                        winTouchToInternalId.Remove(id);
                        cancelPointer(touchPointer);
                    }
                    break;
                }
                break;

            case PointerType.Pen:
                switch (evt)
                {
                case PointerEvent.Enter:
                    penPointer          = internalAddPenPointer(position);
                    penPointer.Pressure = getPenPressure(ref data);
                    penPointer.Rotation = getPenRotation(ref data);
                    break;

                case PointerEvent.Leave:
                    if (penPointer == null)
                    {
                        break;
                    }
                    internalRemovePenPointer(penPointer);
                    break;

                case PointerEvent.Down:
                    if (penPointer == null)
                    {
                        break;
                    }
                    penPointer.Buttons  = updateButtons(penPointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    penPointer.Pressure = getPenPressure(ref data);
                    penPointer.Rotation = getPenRotation(ref data);
                    pressPointer(penPointer);
                    break;

                case PointerEvent.Up:
                    if (penPointer == null)
                    {
                        break;
                    }
                    mousePointer.Buttons = updateButtons(penPointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    releasePointer(penPointer);
                    break;

                case PointerEvent.Update:
                    if (penPointer == null)
                    {
                        break;
                    }
                    penPointer.Position = remapCoordinates(position);
                    penPointer.Pressure = getPenPressure(ref data);
                    penPointer.Rotation = getPenRotation(ref data);
                    penPointer.Buttons  = updateButtons(penPointer.Buttons, data.PointerFlags, data.ChangedButtons);
                    updatePointer(penPointer);
                    break;

                case PointerEvent.Cancelled:
                    if (penPointer == null)
                    {
                        break;
                    }
                    cancelPointer(penPointer);
                    break;
                }
                break;
            }
        }
Ejemplo n.º 27
0
 public Game1()
 {
     graphics = new GraphicsDeviceManager(this);
     Content.RootDirectory = "Content";
     mousePoint            = new MousePointer();
 }
Ejemplo n.º 28
0
 private static MousePointer.CursorData GetOriginalCursor(MousePointer pointer, string name)
 {
     return((MousePointer.CursorData) typeof(MousePointer).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic).GetValue(pointer));
 }
Ejemplo n.º 29
0
 private void Setup(MousePointer original)
 {
     _original = original;
     RestoreFromOriginalMousePointer();
 }
Ejemplo n.º 30
0
 public void DisplayOptionMenu(object sender, MousePointer mousePointer, Controler controler, Vector2 clickPosition)
 {
 }
Ejemplo n.º 31
0
 void Start()
 {
     myPointer   = GameObject.FindGameObjectWithTag("Main").GetComponent <MousePointer>();
     roomManager = GameObject.FindGameObjectWithTag("AllRooms").GetComponent <_RoomManager>();
 }
Ejemplo n.º 32
0
 public void RenderMouse(int x, int y, int scale, MousePointer mode, SpriteBatch spriteBatch, Color tint)
 {
     spriteBatch.Draw(PointerTexture, new Rectangle(x, y, PointerWidth * scale, PointerHeight * scale), GetSpecialFrame(mode).SourceRect, tint);
 }