private void CheckForHover()
        {
            Vector2 worldPos =
                MouseUtil.ScreenToWorldPosition(Raylib.GetMousePosition() / MoonVars.RenderScale, _camera);

            foreach (Planet p in Entities.OfType <Planet>())
            {
                p.Selected = p.Collides(worldPos);
            }
        }
Пример #2
0
        private void PlaceHome()
        {
            Raylib.PlaySound(AssetManager.GetSound("placeHome"));
            GameState.CurrentPhase = EGamePhase.Expanding;

            Vector2i worldPos = new Vector2i(MouseUtil.ScreenToWorldPosition(_mouseCursor.Position, _camera));

            Entities.Add(new HomePlanet(
                             worldPos.X,
                             worldPos.Y,
                             10
                             ));
        }
        private void CheckForAttack()
        {
            if (!Raylib.IsMouseButtonPressed(MouseButton.MOUSE_LEFT_BUTTON))
            {
                return;
            }

            Vector2 worldPos =
                MouseUtil.ScreenToWorldPosition(Raylib.GetMousePosition() / MoonVars.RenderScale, _camera);

            foreach (Planet p in Entities.OfType <Planet>())
            {
                if (!p.Collides(worldPos))
                {
                    continue;
                }
                Attack(p);
                return;
            }
        }
Пример #4
0
        private void CheckForConnection()
        {
            if (!Raylib.IsMouseButtonPressed(MouseButton.MOUSE_LEFT_BUTTON))
            {
                return;
            }

            Vector2 worldPos = MouseUtil.ScreenToWorldPosition(Raylib.GetMousePosition() / MoonVars.RenderScale, _camera);

            HomePlanet p = GetHomePlanet();

            if (p.Collides(worldPos))
            {
                if (_currentSelection != null)
                {
                    AddConnection(_currentSelection);
                }

                ClearSelection();
                return;
            }
        }
        private void CheckForSelection()
        {
            if (!Raylib.IsMouseButtonPressed(MouseButton.MOUSE_LEFT_BUTTON))
            {
                return;
            }

            Vector2 worldPos =
                MouseUtil.ScreenToWorldPosition(Raylib.GetMousePosition() / MoonVars.RenderScale, _camera);

            ClearSelection();

            foreach (OwnedPlanet p in Entities.OfType <OwnedPlanet>())
            {
                if (!p.Collides(worldPos))
                {
                    continue;
                }
                _currentSelection = p;
                p.Selected        = true;
                return;
            }
        }