Ejemplo n.º 1
0
        protected override void Setup()
        {
            config = LoadConfig <MeteoConfig>();

            CreateInputKeywordAsObservable("meteo")
            .Subscribe(_ =>
            {
                IsActive = !IsActive;
                DrawText("Meteo:" + IsActive, 3.0f);
            });

            OnAllOnCommandObservable.Subscribe(_ => IsActive = true);

            //落下地点マーカ描画
            OnDrawingTickAsObservable
            .Where(_ => meteoLightPositionList.Count > 0)
            .Subscribe(_ =>
            {
                var insensity = 10;
                foreach (var point in meteoLightPositionList.ToArray())
                {
                    NativeFunctions.CreateLight(point, 255, 0, 0, 1.0f, insensity);
                }
            });

            CreateTickAsObservable(TimeSpan.FromMilliseconds(DurationMillSeconds))
            .Where(_ => IsActive && Random.Next(0, 100) <= Probability)
            .Subscribe(_ => ShootMeteo());
        }
        protected override void Setup()
        {
            var screenResolution = NativeFunctions.GetScreenResolution();

            _screenHeight = (int)screenResolution.Y;
            _screenWidth  = (int)screenResolution.X;
            _mContainer   = new UIContainer(new Point(0, 0), new Size(_screenWidth, _screenHeight));

            OnDrawingTickAsObservable
            .Where(_ => this.GetPlayerVehicle().IsSafeExist() && PlayerPed.IsAlive)
            .Subscribe(_ =>
            {
                _mContainer.Items.Clear();
                GetVehicleHealth();
                _mContainer.Draw();
            });
        }
Ejemplo n.º 3
0
        protected override void Setup()
        {
            var screenResolution = NativeFunctions.GetScreenResolution();

            ScreenHeight = (int)screenResolution.Y;
            ScreenWidth  = (int)screenResolution.X;

            _mContainer = new UIContainer(
                new Point(0, 0), new Size(ScreenWidth, ScreenHeight));

            OnDrawingTickAsObservable
            .Subscribe(_ => _mContainer.Draw());

            var harlThinned = CreateTickAsObservable(TimeSpan.FromMilliseconds(50));

            harlThinned
            .Where(_ => PlayerPed.IsSafeExist() && PlayerPed.Health < alertHelthValue && PlayerPed.IsAlive)
            .Subscribe(_ =>
            {
                //体力が減ったら画面を点滅させる
                time     += 1;
                var alpha = offset + amplitude * Math.Abs(Math.Sin(omega * time));

                _mContainer.Items.Clear();
                var rect = new UIRectangle(new Point(0, 0), new Size(ScreenWidth, ScreenHeight),
                                           Color.FromArgb((int)alpha, 255, 0, 0));
                _mContainer.Items.Add(rect);
            });

            harlThinned
            .Select(_ => PlayerPed.IsSafeExist() && PlayerPed.Health < alertHelthValue)
            .DistinctUntilChanged()
            .Where(x => !x)
            .Subscribe(_ =>
            {
                time = 0;
                _mContainer.Items.Clear();
            });
        }
Ejemplo n.º 4
0
        protected override void Setup()
        {
            config = LoadConfig <ChaosAirPlaneConfig>();
            CreateInputKeywordAsObservable("cair")
            .Subscribe(_ =>
            {
                IsActive = !IsActive;
                DrawText("ChaosPlane:" + IsActive, 3.0f);
            });

            OnAllOnCommandObservable
            .Subscribe(_ =>
            {
                IsActive = true;
            });

            IsActiveAsObservable.Where(x => x)
            .Subscribe(_ => StartCoroutine(StartChaosPlanes()));

            //ターゲット描画
            OnDrawingTickAsObservable
            .Where(_ => IsActive && targetArea.Count > 0)
            .Subscribe(_ =>
            {
                var insensity = 5;

                var array = targetArea.Values
                            .Where(x => x != null)
                            .Select(x => x.Value);

                foreach (var point in array)
                {
                    NativeFunctions.CreateLight(point, 255, 30, 30, 10.0f, insensity);
                }
            });
        }