Beyond_Beyaan.Screens.FleetView.MouseHover C# (CSharp) Метод

MouseHover() публичный Метод

public MouseHover ( int x, int y, float frameDeltaTime ) : bool
x int
y int
frameDeltaTime float
Результат bool
        public override bool MouseHover(int x, int y, float frameDeltaTime)
        {
            bool result = false;
            _previousFleet.MouseHover(x, y, frameDeltaTime);
            _nextFleet.MouseHover(x, y, frameDeltaTime);
            bool withinX = (x >= _xPos + 10 && x < _xPos + 290);
            bool showingPreview = false;
            for (int i = 0; i < _maxVisible; i++)
            {
                if (_shipSliders[i].MouseHover(x, y, frameDeltaTime))
                {
                    result = true;
                    if (!_isTransports)
                    {
                        Ship ship = _selectedFleet.OrderedShips[i];
                        _selectedFleetGroup.FleetToSplit.Ships[ship] = _shipSliders[i].TopIndex;
                        _shipLabels[i].SetText(_shipSliders[i].TopIndex + " x " + ship.Name);
                    }
                }
                int tempY = _yPos + 55 + (i * 55);
                if (!_isTransports && withinX && y >= tempY && y < tempY + 55)
                {
                    var ship = _selectedFleet.OrderedShips[i];
                    _shipSprite = ship.Owner.EmpireRace.GetShip(ship.Size, ship.WhichStyle);
                    _empireColor = ship.Owner.ConvertedColor;
                    //Show ship preview for this ship
                    if (_xPos > 170)
                    {
                        _shipPreview.MoveTo(_xPos - 170, tempY - 62);
                        _shipPoint.X = _xPos - 85;
                        _shipPoint.Y = tempY + 23;
                        showingPreview = true;
                    }
                    else
                    {
                        _shipPreview.MoveTo(_xPos + 300, tempY - 62);
                        _shipPoint.X = _xPos + 385;
                        _shipPoint.Y = tempY + 23;
                        showingPreview = true;
                    }
                }
            }
            _showingPreview = showingPreview;
            return base.MouseHover(x, y, frameDeltaTime) || result;
        }

Usage Example

Пример #1
0
        public void Update(int x, int y, float frameDeltaTime)
        {
            _pathSprite.Update(frameDeltaTime, _gameMain.Random);
            _gameMain.Galaxy.Update(frameDeltaTime, _gameMain.Random);

            if (_taskBar.MouseHover(x, y, frameDeltaTime))
            {
                return;
            }
            if (_windowShowing != null)
            {
                _windowShowing.MouseHover(x, y, frameDeltaTime);
                return;
            }

            Empire currentEmpire = _gameMain.EmpireManager.CurrentEmpire;

            if (currentEmpire.SelectedSystem != null)
            {
                if (_systemView.MouseHover(x, y, frameDeltaTime))
                {
                    return;
                }
            }
            if (currentEmpire.SelectedFleetGroup != null)
            {
                if (_fleetView.MouseHover(x, y, frameDeltaTime))
                {
                    return;
                }
                if (currentEmpire.SelectedFleetGroup.SelectedFleet.Empire == currentEmpire)
                {
                    Point hoveringPoint = new Point();

                    hoveringPoint.X = (int)((x / _camera.ZoomDistance) + _camera.CameraX);
                    hoveringPoint.Y = (int)((y / _camera.ZoomDistance) + _camera.CameraY);

                    StarSystem selectedSystem = _gameMain.Galaxy.GetStarAtPoint(hoveringPoint);
                    currentEmpire.SelectedFleetGroup.FleetToSplit.SetTentativePath(selectedSystem, currentEmpire.SelectedFleetGroup.FleetToSplit.HasReserveTanks, _gameMain.Galaxy);
                    RefreshETAText();
                }
            }

            _camera.HandleUpdate(frameDeltaTime);
        }