コード例 #1
0
        /* Constructor */
        public ScriptHost(Form hostForm, ScriptBase script)
        {
            HostForm    = hostForm;
            Script      = script;
            Script.Host = this;

            MacroPlayer           = new MacroPlayer();
            MacroPlayer.LapEnter += (sender) =>
            {
                Script.OnMacroLapEnter(sender);
            };

            var scriptForm = Script.ScriptForm;

            if (scriptForm != null)
            {
                // Intercept form closing
                scriptForm.FormClosing += (_sender, _e) =>
                {
                    if (_e.CloseReason == CloseReason.UserClosing)
                    {
                        _e.Cancel = true;
                        scriptForm.Hide();
                    }
                };
            }
        }
コード例 #2
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void Pause()
        {
            IsPaused = true;

            if (MacroPlayer.IsPlaying)
            {
                MacroPlayer.Pause();
            }
        }
コード例 #3
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void PlayMacro(string path, int suspendDelay = 0)
        {
            MacroPlayer.LoadFile(path);
            MacroPlayer.Play();

            if (suspendDelay > 0)
            {
                Suspend(suspendDelay);
            }
        }
コード例 #4
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void PlayMacro(List <DualShockState> sequence, int suspendDelay = 0)
        {
            MacroPlayer.Sequence = ScriptHostUtility.ConvertAPIToInterceptorSequence(sequence);
            MacroPlayer.Play();

            if (suspendDelay > 0)
            {
                Suspend(suspendDelay);
            }
        }
コード例 #5
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void Play()
        {
            Start();

            if (MacroPlayer.IsPaused)
            {
                MacroPlayer.Play();
            }

            IsPaused = false;
        }
コード例 #6
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void Stop()
        {
            if (Worker != null)
            {
                Worker.CancelAsync();
            }

            MacroPlayer.Stop();
            SuspendCounter = 0;
            IsRunning      = false;
            IsPaused       = false;
        }
コード例 #7
0
        public void Pause()
        {
            IsPaused = true;

            // Clear methods
            Script.ClearButtons();

            if (MacroPlayer.IsPlaying)
            {
                MacroPlayer.Pause();
            }

            // For cleanup
            Script.OnPaused();
        }
コード例 #8
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
        public void OnReceiveData(ref PS4RemotePlayInterceptor.DualShockState state)
        {
            if (MacroPlayer.IsPlaying)
            {
                MacroPlayer.OnReceiveData(ref state);
            }
            else if (Script.CurrentState != null)
            {
                state = ScriptHostUtility.ConvertAPIToInterceptorState(Script.CurrentState);
                state.ReportTimeStamp = DateTime.Now;

                // Replace battery status
                state.Battery    = 100;
                state.IsCharging = true;
            }
        }
コード例 #9
0
        public void Stop()
        {
            if (Worker != null)
            {
                Worker.CancelAsync();
            }

            // Clear methods
            Script.ClearButtons();
            MacroPlayer.Stop();

            // Clear states
            SuspendCounter = 0;
            IsRunning      = false;
            IsPaused       = false;

            // For cleanup
            Script.OnStopped();
        }
コード例 #10
0
ファイル: SaveLoadHelper.cs プロジェクト: chanchiem/PS4Macro
 /* Constructor */
 public SaveLoadHelper(MainForm mainForm, MacroPlayer macroPlayer)
 {
     m_MainForm    = mainForm;
     m_MacroPlayer = macroPlayer;
 }
コード例 #11
0
ファイル: ScriptHost.cs プロジェクト: kdy1029/PS4Macro
 public void StopMacro()
 {
     MacroPlayer.Stop();
 }