Пример #1
0
        private static void LoadPDComputer()
        {
            var closestLoc = GetClosestLoc();

            if (!(Game.LocalPlayer.Character.Position.DistanceTo(closestLoc) < 20f))
            {
                return;
            }
            if (_shown == false)
            {
                _shown  = true;
                _marker = new Marker(closestLoc, Color.Yellow, Marker.MarkerTypes.MarkerTypeUpsideDownCone, true, true,
                                     true);
            }
            if (!(Game.LocalPlayer.Character.Position.DistanceTo(closestLoc) < 1.75f))
            {
                return;
            }

            Game.DisplayHelp($"Press {Settings.Settings.ComputerKey()} to open the computer");

            if (!Game.IsKeyDown(Settings.Settings.ComputerKey()) || _startedComp)
            {
                return;
            }

            _marker.Stop();
            _startedComp  = true;
            Game.IsPaused = true;
            Computer.StartComputerHandler();

            while (Computer.Controller.IsRunning)
            {
                GameFiber.Yield();
            }

            Background.DisableBackground(Background.Type.Computer);
            Computer.AbortController();
            Game.IsPaused = false;
            _startedComp  = false;
        }