Пример #1
0
            private int GetWaitIndex(Settings.RunAfter.RunAfterOptions o)
            {
                if ((o & Settings.RunAfter.RunAfterOptions.WaitForLauncherLoaded) != 0)
                {
                    return(1);
                }

                if ((o & Settings.RunAfter.RunAfterOptions.WaitForDxWindowLoaded) != 0)
                {
                    return(2);
                }

                return(0);
            }
Пример #2
0
            public void Start(Settings.RunAfter.RunAfterOptions state)
            {
                int count;

                lock (this)
                {
                    if (processes == null)
                    {
                        return;
                    }
                    count = processes.Length;
                }

                var s1 = GetWaitIndex(state);

                for (var i = 0; i < count; i++)
                {
                    lock (this)
                    {
                        if (processes == null)
                        {
                            return;
                        }

                        var p = processes[i];

                        if ((p.settings.Options & Settings.RunAfter.RunAfterOptions.Enabled) != 0)
                        {
                            var s2 = GetWaitIndex(p.settings.Options);

                            if (s1 >= s2)
                            {
                                p.Start(this);
                            }
                        }
                    }
                }
            }