Beyond_Beyaan.Screens.SystemView.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)
        {
            if (!_isOwnedSystem)
            {
                return base.MouseHover(x, y, frameDeltaTime);
            }
            if (IsTransferring)
            {
                if (_popTransferSlider.MouseHover(x, y, frameDeltaTime))
                {
                    _transferLabel.SetText("Moving " + _popTransferSlider.TopIndex + " Population");
                    return true;
                }
                if (_transferToButton.MouseHover(x, y, frameDeltaTime))
                {
                    return true;
                }
                return base.MouseHover(x, y, frameDeltaTime);
            }
            if (IsRelocating)
            {
                if (_relocateToButton.MouseHover(x, y, frameDeltaTime))
                {
                    return true;
                }
                return base.MouseHover(x, y, frameDeltaTime);
            }
            _name.Update(frameDeltaTime);
            if (_infrastructureSlider.MouseHover(x, y, frameDeltaTime))
            {
                _currentSystem.Planets[0].SetOutputAmount(OUTPUT_TYPE.INFRASTRUCTURE, _infrastructureSlider.TopIndex, false);
                Refresh();
                return true;
            }
            if (_researchSlider.MouseHover(x, y, frameDeltaTime))
            {
                _currentSystem.Planets[0].SetOutputAmount(OUTPUT_TYPE.RESEARCH, _researchSlider.TopIndex, false);
                Refresh();
                return true;
            }
            if (_environmentSlider.MouseHover(x, y, frameDeltaTime))
            {
                _currentSystem.Planets[0].SetOutputAmount(OUTPUT_TYPE.ENVIRONMENT, _environmentSlider.TopIndex, false);
                Refresh();
                return true;
            }
            if (_defenseSlider.MouseHover(x, y, frameDeltaTime))
            {
                _currentSystem.Planets[0].SetOutputAmount(OUTPUT_TYPE.DEFENSE, _defenseSlider.TopIndex, false);
                Refresh();
                return true;
            }
            if (_constructionSlider.MouseHover(x, y, frameDeltaTime))
            {
                _currentSystem.Planets[0].SetOutputAmount(OUTPUT_TYPE.CONSTRUCTION, _constructionSlider.TopIndex, false);
                Refresh();
                return true;
            }
            _infrastructureLockButton.MouseHover(x, y, frameDeltaTime);
            _researchLockButton.MouseHover(x, y, frameDeltaTime);
            _environmentLockButton.MouseHover(x, y, frameDeltaTime);
            _defenseLockButton.MouseHover(x, y, frameDeltaTime);
            _constructionLockButton.MouseHover(x, y, frameDeltaTime);
            _relocateToButton.MouseHover(x, y, frameDeltaTime);
            _transferToButton.MouseHover(x, y, frameDeltaTime);
            if (_constructionLockButton.MouseHover(x, y, frameDeltaTime))
            {
                return true;
            }
            _constructionProjectButton.MouseHover(x, y, frameDeltaTime);
            return base.MouseHover(x, y, frameDeltaTime);
        }

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);
        }