private void CheckForHover() { Vector2 worldPos = MouseUtil.ScreenToWorldPosition(Raylib.GetMousePosition() / MoonVars.RenderScale, _camera); foreach (Planet p in Entities.OfType <Planet>()) { p.Selected = p.Collides(worldPos); } }
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; } }
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; } }