public void PropertyTest() { var timingHelper = new TimingHelper(_warmupIterations, _iterations); // One property. var onePropertyType = this._assembly.GetType("AssemblyToProcess.Performance.OneProperty"); var instance = (dynamic) Activator.CreateInstance(onePropertyType); var oneProperty = new OneProperty(); timingHelper.TimeIt("One property", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => oneProperty.Clone()) ); // Five properties. var fivePropertiesType = this._assembly.GetType("AssemblyToProcess.Performance.FiveProperties"); instance = (dynamic) Activator.CreateInstance(fivePropertiesType); var fiveProperties = new FiveProperties(); timingHelper.TimeIt("Five properties", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clfive", () => fiveProperties.Clone()) ); // Ten properties. var tenPropertiesType = this._assembly.GetType("AssemblyToProcess.Performance.TenProperties"); instance = (dynamic) Activator.CreateInstance(tenPropertiesType); var tenProperties = new TenProperties(); timingHelper.TimeIt("Ten properties", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clten", () => tenProperties.Clone()) ); }
private void MouseDown(object sender, MouseEventExtArgs e) { if (_ActivityHandler != null) { _ActivityHandler.MouseActionFired(TimingHelper.GetCurrentTimestamp()); } }
private void KeyPress(object sender, KeyPressEventArgs e) { if (_ActivityHandler != null) { _ActivityHandler.KeyboardActionFired(TimingHelper.GetCurrentTimestamp()); } }
private IEnumerator BeginGameEffect() { if (RelicCollection == null) { RelicCollection = new RelicCollection(); } else { RelicCollection.Reset(); } if (StatisticManager == null) { StatisticManager = new StatisticManager(); } else { StatisticManager.Reset(); } // Fire a game begun event. OnGameBegun(EventArgs.Empty); yield return(Coroutines.Pause(TimingHelper.GetFrameCount(2.5f))); // Kick off the game with a coalsced phase. This should always be the Calm phase and we do want the player to be notified of this. PhaseManager.CoalescePlane(); // Add a coroutine to handle updating remaining game time. CoroutineManager.Add(UpdateRemainingGameTimeKey, UpdateGameTimer()); }
public Image MakeScreenshot() { Bitmap img = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); using (Graphics g = Graphics.FromImage(img)) { g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, img.Size, CopyPixelOperation.SourceCopy); } Size imgSize = Utils.CalcScreenshotSize(img); if (imgSize.Width != img.Width) { img = Utils.ResizeImage(img, imgSize.Width, imgSize.Height); } if (_ActivityHandler != null) { _ActivityHandler.ScreenshotActionFired(img, TimingHelper.GetCurrentTimestamp()); } return(img); }
private static void Main(string[] args) { Program.InitializeLogging(); Program.InitializeExceptions(); // Read command line arguments, and quit if necessary! if (!ReadCommandLineArgs(args)) { return; } Program.SetLanguage(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Trace.WriteLine("4DO Starting up"); TimingHelper.MaximumResolutionPush(); mainForm = new FourDO.UI.Main(); Application.Run(mainForm); TimingHelper.MaximumResolutionPop(); Trace.WriteLine("4DO Shutting down"); Trace.Flush(); PrintFakeDosPrompt(); }
public Point GetCurrentSessionTime() { int current = TimingHelper.GetCurrentTimestamp(); TimeSpan timeSpan = TimeSpan.FromSeconds(current - CurrentContext.GetInstance().Session.StartTimestamp); return(new Point(timeSpan.Minutes < 0 ? 0 : timeSpan.Minutes, timeSpan.Hours < 0 ? 0 : timeSpan.Hours)); }
public async Task GetMarketTimeSeriesAsyncTest(string metricKey, string metricId) { var start = TimingHelper.GetLastWednesday(); var end = TimingHelper.GetLastThursday(); var response = await _client.Market .GetMarketTimeSeriesAsync(metricKey, metricId, start, end); Assert.AreEqual(response.Status.ErrorCode, 0); Assert.IsNotNull(response.Data); }
public void ScreenshotActionFired(Image img, int timestamp) { _LastScreenshotTime = timestamp; _NotificationHandler.ScreenshotTaken(); int delta = TimingHelper.CalcTimestampDelta(CurrentContext .GetInstance().Session.StartTimestamp, timestamp); CacheProcessor.SaveImage(img, delta.ToString(), CurrentContext.GetInstance().Session.StartTimestamp.ToString(), false); CurrentContext.GetInstance().Session.PostTime = delta; CurrentContext.GetInstance().Session.StopTime = -1; // AHMED TODO add app titles instead of TEST Process[] processes = Process.GetProcesses(); var sb = new System.Text.StringBuilder(); foreach (Process p in processes) { if (!String.IsNullOrEmpty(p.MainWindowTitle)) { sb.Append(p.MainWindowTitle.ToString() + "***"); } } string outputSb = sb.ToString().Replace(",", " - "); if (!CurrentContext.GetInstance().Session.ActiveAppTitles.Contains(outputSb)) { CurrentContext.GetInstance().Session.ActiveAppTitles.Add(outputSb); } // Ahmed END script /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ // while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); // CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("ScreenshotActionFired() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ }
public static ISession CreateSession() { ISession session = new DefaultSession(); // JUST SIMPLEST FACTORY NOW session.StartTimestamp = TimingHelper.GetCurrentTimestamp(); session.KeyboardTimes = new List <int>(); session.MouseTimes = new List <int>(); session.ScreenshotFileNames = new List <int>(); session.ActiveAppTitles = new List <String>(); return(session); }
public void DecryptedImageSaveTest() { Image img = ActivityProcessor.GetInstance().MakeScreenshot(); string sessionId = (200 + TimingHelper.GetCurrentTimestamp()).ToString(); CacheProcessor.SaveImage(img, "300", sessionId, false); string[] imgPaths = CacheProcessor.GetDecryptedImagePaths(sessionId); Assert.IsTrue(imgPaths.Length == 1); Assert.IsTrue(imgPaths[0].Contains("300.jpg")); CacheProcessor.DeleteAllSessions(); }
public void SaveDecryptedDataToFile() { IList <string> data = PrepareData(); string sessionId = TimingHelper.GetCurrentTimestamp().ToString(); CacheProcessor.SaveData(data, sessionId, false); Thread.Sleep(2000); CacheProcessor.SaveData(data, sessionId, false); Assert.IsTrue(File.Exists(CacheProcessor.GetDataDecryptedFilePath(sessionId))); CacheProcessor.DeleteAllSessions(); }
public async Task InvalidSymbolTest(string symbol) { var wednesday = TimingHelper.GetLastWednesday(); var thursday = TimingHelper.GetLastThursday(); var response = await _client.HistoricalData .PricesAsync(symbol, wednesday, thursday); Assert.AreEqual(response.Status, "error"); Assert.AreEqual(response.Message, "Invalid symbol"); Assert.IsNull(response.Data); }
private bool IsActualLog(string line) { try { string logDate = line.Split('-')[0].Substring(1).Trim(); return(!TimingHelper.MoreThanInterval(TimingHelper. GetDateTimeFromString(logDate), DateTime.Now, CommonConst.LOG_INTERVAL)); } catch { return(false); } }
private IList <string> PrepareData() { IList <string> data = new List <string>(); data.Add("username=test_user"); data.Add("password=test_pass"); data.Add("start_timestamp=" + TimingHelper.GetCurrentTimestamp().ToString()); data.Add("stop_time=-1"); data.Add("post_time=" + TimingHelper.GetCurrentTimestamp().ToString()); data.Add("key_times=2,45,88,109,332,2000"); data.Add("mouse_times=2,45,88,109,332,2000"); return(data); }
public async Task PricesAsyncTest(string symbol) { var wednesday = TimingHelper.GetLastWednesday(); var thursday = TimingHelper.GetLastThursday(); var response = await _client.HistoricalData .PricesAsync(symbol, wednesday, thursday); Assert.AreEqual(response.Status, "Success"); Assert.IsNotNull(response.Data); Assert.GreaterOrEqual(response.Data.Count(), 1); Assert.GreaterOrEqual(response.Data.First().Volume, 1); Assert.IsNotNull(response.Data.First().Start); }
public async Task GetSingleDayHistoricalQuotesTest(string symbol, string interval) { var start = TimingHelper.GetLastWednesday(); var end = TimingHelper.GetLastWednesday(); var result = await _client.MarketData.GetHistoricalQuotes(symbol, interval, start, end); Assert.IsNotNull(result.Day); Assert.AreEqual(1, result.Day.Count); var firstDay = result.Day.First(); Assert.AreEqual(start.ToString("yyyy-MM-dd"), firstDay.Date); Assert.NotZero(firstDay.Open); }
/// <summary> /// Starts the stub and waits for it to be listening on specified ports. /// </summary> /// <param name="standardOutputTextWriter">A text writer that the stub standard output will be redirected to.</param> /// <param name="httpPort">The http port to start the stub on</param> /// <param name="httpsPort">The https port to start the stub on</param> /// <param name="timeoutSeconds">Timeout on waiting for the stub to start</param> /// <exception cref="Exception"></exception> public void Start(TextWriter standardOutputTextWriter, int httpPort = DefaultPortConfiguration.HttpPort, int httpsPort = DefaultPortConfiguration.HttpsPort, int timeoutSeconds = 5) { LocalStubAddress = $"Https://localhost:{httpsPort}"; stubTask = Task.Run(() => StubStartup.StartStub(standardOutputTextWriter, httpPort, httpsPort)); try { using (var stubClient = new StubClient(LocalStubAddress)) { // ReSharper disable once AccessToDisposedClosure - this closure is only used in the timing helper and will not be used outside the using. TimingHelper.WaitFor(() => stubClient.HealthCheck().Result, timeoutSeconds); } } catch { throw new Exception("Stub did not start correctly."); } }
public void StopSession(bool unsubscribe) { Context.Timer.Timer.GetInstance().StopTimer(); ErrorTimer.GetInstance().StopTimer(); if (unsubscribe) { ActivityProcessor.GetInstance().UnsubscribeFromMouseKeyEvents(); } int delta = TimingHelper.CalcTimestampDelta(CurrentContext .GetInstance().Session.StartTimestamp, TimingHelper.GetCurrentTimestamp()); //if (delta < CommonConst.DELAY) // return; CurrentContext.GetInstance().Session.PostTime = delta; CurrentContext.GetInstance().Session.StopTime = delta; ThreadPool.QueueUserWorkItem(new WaitCallback((s) => { /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); // CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StopSession() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ _NotificationHandler.SessionStopped(); })); }
public void KeyboardActionFired(int timestamp) { _LastActivityTime = timestamp; if (CurrentContext.GetInstance().IsSessionSleep) { _NotificationHandler.ActivityFired(); } else { int delta = TimingHelper.CalcTimestampDelta(CurrentContext .GetInstance().Session.StartTimestamp, timestamp); if (!CurrentContext.GetInstance().Session.KeyboardTimes.Contains(delta)) { CurrentContext.GetInstance().Session.KeyboardTimes.Add(delta); } } }
public void StartSession(bool subscribe) { CacheStrategyExecutor.GetInstance().CacheStrategy.SetServerApiProvider(_ServerApiProvider); CurrentContext.GetInstance().Session = SessionFactory.CreateSession(); _LastActivityTime = TimingHelper.GetCurrentTimestamp(); _LastScreenshotTime = _LastActivityTime; ThreadPool.QueueUserWorkItem(new WaitCallback((s) => { /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 1: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //while (CurrentContext.GetInstance().IsSessionDataLocked) // Thread.Sleep(1000); CurrentContext.GetInstance().Session.StopTime = -1; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 2: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ //CurrentContext.GetInstance().IsSessionDataLocked = true; CacheStrategyExecutor.GetInstance().CacheStrategy.PostCurrentSession(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); CacheStrategyExecutor.GetInstance().CacheStrategy.PostOldSessions(CurrentContext .GetInstance().Session.StartTimestamp.ToString()); //CurrentContext.GetInstance().IsSessionDataLocked = false; /*LogController.GetInstance().LogData(LogController. * GetInstance().LogFormat.GetSessionLine("StartSession() -- mode 3: IsSessionDataLocked: " + * CurrentContext.GetInstance().IsSessionDataLocked.ToString()));*/ })); ActivityProcessor.GetInstance().SetActivityHandler(this); if (subscribe) { ActivityProcessor.GetInstance().SubscribeToMouseKeyEvents(); } Context.Timer.Timer.GetInstance().InitTimer(CommonConst.SESSION_INTERVAL, CommonConst.DELAY, this); Context.Timer.Timer.GetInstance().StartTimer(); }
public void EncryptDecryptTextFromFile() { IList <string> data = PrepareData(); string sessionId = (200 + TimingHelper.GetCurrentTimestamp()).ToString(); CacheProcessor.SaveData(data, sessionId, false); CacheProcessor.EncryptData(sessionId); CacheProcessor.DeleteDecryptedData(sessionId); CacheProcessor.DecryptData(sessionId); CacheProcessor.DeleteEncryptedData(sessionId); IList <string> loadedData = CacheProcessor.LoadData(sessionId); Assert.IsTrue(loadedData.Count == data.Count); for (int i = 0; i < loadedData.Count; i++) { Assert.IsTrue(data[i].Equals(loadedData[i])); } CacheProcessor.DeleteAllSessions(); }
public void FieldTest() { var timingHelper = new TimingHelper(_warmupIterations, _iterations); // One field. var oneFieldType = this._assembly.GetType("AssemblyToProcess.Performance.OneField"); var instance = (dynamic)Activator.CreateInstance(oneFieldType); var oneField = new OneField(); timingHelper.TimeIt("One Field", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => oneField.Clone()) ); // Five fields. var fiveFieldsType = this._assembly.GetType("AssemblyToProcess.Performance.FiveFields"); instance = (dynamic)Activator.CreateInstance(fiveFieldsType); var fiveFields = new FiveFields(); timingHelper.TimeIt("Five Fields", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => fiveFields.Clone()) ); // Ten fields. var tenFieldsType = this._assembly.GetType("AssemblyToProcess.Performance.TenFields"); instance = (dynamic)Activator.CreateInstance(tenFieldsType); var tenFields = new TenFields(); timingHelper.TimeIt("Ten Fields", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => tenFields.Clone()) ); }
public void PropertyTest() { var timingHelper = new TimingHelper(_warmupIterations, _iterations); // One property. var onePropertyType = this._assembly.GetType("AssemblyToProcess.Performance.OneProperty"); var instance = (dynamic)Activator.CreateInstance(onePropertyType); var oneProperty = new OneProperty(); timingHelper.TimeIt("One property", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => oneProperty.Clone()) ); // Five properties. var fivePropertiesType = this._assembly.GetType("AssemblyToProcess.Performance.FiveProperties"); instance = (dynamic)Activator.CreateInstance(fivePropertiesType); var fiveProperties = new FiveProperties(); timingHelper.TimeIt("Five properties", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clfive", () => fiveProperties.Clone()) ); // Ten properties. var tenPropertiesType = this._assembly.GetType("AssemblyToProcess.Performance.TenProperties"); instance = (dynamic)Activator.CreateInstance(tenPropertiesType); var tenProperties = new TenProperties(); timingHelper.TimeIt("Ten properties", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clten", () => tenProperties.Clone()) ); }
public void FieldTest() { var timingHelper = new TimingHelper(_warmupIterations, _iterations); // One field. var oneFieldType = this._assembly.GetType("AssemblyToProcess.Performance.OneField"); var instance = (dynamic) Activator.CreateInstance(oneFieldType); var oneField = new OneField(); timingHelper.TimeIt("One Field", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => oneField.Clone()) ); // Five fields. var fiveFieldsType = this._assembly.GetType("AssemblyToProcess.Performance.FiveFields"); instance = (dynamic) Activator.CreateInstance(fiveFieldsType); var fiveFields = new FiveFields(); timingHelper.TimeIt("Five Fields", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => fiveFields.Clone()) ); // Ten fields. var tenFieldsType = this._assembly.GetType("AssemblyToProcess.Performance.TenFields"); instance = (dynamic) Activator.CreateInstance(tenFieldsType); var tenFields = new TenFields(); timingHelper.TimeIt("Ten Fields", new TimingHelper.Data("Deep Copy", () => instance.DeepCopy()), new TimingHelper.Data("Hand Copy", () => instance.HCopy()), new TimingHelper.Data("Clone", () => tenFields.Clone()) ); }
public void Start(OsuBeatmap beatmap) { Ac__DisplayClass18_0 ac__DisplayClass18_ = default(Ac__DisplayClass18_0); ac__DisplayClass18_.A4__this = this; ac__DisplayClass18_.beatmap = beatmap; this.beatmap = ac__DisplayClass18_.beatmap; enabled = true; ac__DisplayClass18_.key1 = (VirtualKeyCode)osu.BindingManager.GetKeyCode(Bindings.OsuLeft); ac__DisplayClass18_.key2 = (VirtualKeyCode)osu.BindingManager.GetKeyCode(Bindings.OsuRight); currentKeyPressed = ac__DisplayClass18_.key2; ac__DisplayClass18_.beatmapSpeed = (osu.Player.HitObjectManager.CurrentMods.HasFlag(Mods.DoubleTime) ? 1.5f : (osu.Player.HitObjectManager.CurrentMods.HasFlag(Mods.HalfTime) ? 0.75f : 1f)); int num = osu.HitWindow50(ac__DisplayClass18_.beatmap.OverallDifficulty); int num2 = osu.HitWindow50(ac__DisplayClass18_.beatmap.OverallDifficulty); int num3 = osu.HitWindow100(ac__DisplayClass18_.beatmap.OverallDifficulty); int num4 = osu.HitWindow300(ac__DisplayClass18_.beatmap.OverallDifficulty); ac__DisplayClass18_.hitObjectRadius = osu.HitObjectRadius(ac__DisplayClass18_.beatmap.CircleSize); ac__DisplayClass18_.alreadyHit = false; bool flag = false; ac__DisplayClass18_.rand = new Random(); ac__DisplayClass18_.randomOffset = ac__DisplayClass18_.rand.Next(-offset, offset); ac__DisplayClass18_.randomHoldTime = ac__DisplayClass18_.rand.Next((int)(((float)holdTime - 5f) * ac__DisplayClass18_.beatmapSpeed), (int)(((float)holdTime + 5f) * ac__DisplayClass18_.beatmapSpeed)); ac__DisplayClass18_.lastTimeHit = 0; ac__DisplayClass18_.index = osu.Player.HitObjectManager.CurrentHitObjectIndex; ac__DisplayClass18_.currentHitObject = ac__DisplayClass18_.beatmap.HitObjects[ac__DisplayClass18_.index]; AStartg__releaseBothKeys18_2(ref ac__DisplayClass18_); Ac__DisplayClass18_1 ac__DisplayClass18_2 = default(Ac__DisplayClass18_1); while (osu.CanPlay && ac__DisplayClass18_.index < ac__DisplayClass18_.beatmap.HitObjects.Count && enabled) { TimingHelper.Delay(1u); if (osu.IsPaused) { Thread.Sleep(5); continue; } ac__DisplayClass18_2.currentTime = osu.CurrentTime; if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime - num) { ac__DisplayClass18_.hitObjectPosition = ((ac__DisplayClass18_.currentHitObject is OsuSlider) ? (ac__DisplayClass18_.currentHitObject as OsuSlider).PositionAtTime(osu.CurrentTime) : ac__DisplayClass18_.currentHitObject.Position); if (!ac__DisplayClass18_.alreadyHit) { if (AStartg__isMouseOnNote18_1(ref ac__DisplayClass18_)) { if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime + ac__DisplayClass18_.randomOffset) { flag = false; AStartg__pressKey18_4(ref ac__DisplayClass18_, ref ac__DisplayClass18_2); } } else if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime + num2) { flag = true; AStartg__pressKey18_4(ref ac__DisplayClass18_, ref ac__DisplayClass18_2); } } } if (!flag & ac__DisplayClass18_.alreadyHit) { if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.EndTime + ac__DisplayClass18_.randomOffset + ac__DisplayClass18_.randomHoldTime) { AStartg__releaseKey18_5(ref ac__DisplayClass18_); AStartg__getNextObject18_3(ref ac__DisplayClass18_); } } else if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.EndTime + num2 + ac__DisplayClass18_.randomHoldTime) { AStartg__releaseKey18_5(ref ac__DisplayClass18_); AStartg__getNextObject18_3(ref ac__DisplayClass18_); } while (osu.CanPlay && ac__DisplayClass18_.index >= ac__DisplayClass18_.beatmap.HitObjects.Count && enabled) { Thread.Sleep(5); } } }
public string GetSettingsLine(string action) { return(string.Format("<{0} - {1}>: SETTING, {2}", TimingHelper.GetCurrentDate(), TimingHelper.GetCurrentTime(), action)); }
public string GetSessionLine(string condition) { return(string.Format("<{0} - {1}>: SESSION: {2}", TimingHelper.GetCurrentDate(), TimingHelper.GetCurrentTime(), condition)); }
public int SinceLastScreenshot() { int current = TimingHelper.GetCurrentTimestamp(); return(TimeSpan.FromSeconds(current - _LastScreenshotTime).Minutes); }
public string GetNetworkLine(string condition) { return(string.Format("<{0} - {1}>: NETWORK: {2}", TimingHelper.GetCurrentDate(), TimingHelper.GetCurrentTime(), condition)); }
public string GetCrashReportLine(string condition) { return(string.Format("<{0} - {1}>: SYSTEM: Application Crashed{2}<{0} - {1}>##### CRASH LOG #####{2}<{0} - {1}>{3}{2}<{0} - {1}>##### CRASH LOG #####", TimingHelper.GetCurrentDate(), TimingHelper.GetCurrentTime(), Environment.NewLine, condition)); }
public void Start(Replay replay, bool flipInputs) { currentReplay = replay; double lastTime = quaverManager.QuaverBase.GameplayScreen.GameplayAudioTiming.Time + configManager.AudioOffset; int keyCount = currentReplay.Mode == GameMode.Keys4 ? 4 : 7; var replayKeys = new List <int>(); for (int i = 0; i < keyCount; i++) { replayKeys.Add(i); } int index = nearestFrameIndex(quaverManager.QuaverBase.GameplayScreen.GameplayAudioTiming.Time); while (quaverManager.QuaverBase.GameplayScreen.IsLoaded && index < currentReplay.Frames.Count) { double currentTime = quaverManager.QuaverBase.GameplayScreen.GameplayAudioTiming.Time + configManager.AudioOffset; if (Math.Abs(currentTime - lastTime) >= 50) { break; } else { lastTime = currentTime; } if (currentTime >= currentReplay.Frames[index].Time) { var keyState = Replay.KeyPressStateToLanes(currentReplay.Frames[index].Keys); for (int i = 0; i < replayKeys.Count; i++) { var key = getKeyByLaneIndex(flipInputs ? keyCount - 1 - replayKeys[i] : replayKeys[i]); if (keyState.Contains(replayKeys[i])) { input.Keyboard.KeyDown(key); } else { input.Keyboard.KeyUp(key); } } index++; } TimingHelper.Delay(1); } releaseAllKeys(); //old auto algo /*int index = 0; * var queuedKeyUps = new List<(int, int)>(); * while (quaverManager.QuaverBase.GameplayScreen.IsLoaded && (index < currentMap.HitObjects.Count || queuedKeyUps.Count != 0)) * { * var queuedForDeletion = new List<(int, int)>(); * foreach (var element in queuedKeyUps) * { * if (quaverManager.QuaverBase.GameplayScreen.GameplayAudioTiming.Time >= element.Item2) * { * inputSimulator.Keyboard.KeyUp(getKeyByLaneIndex(element.Item1 - 1)); * queuedForDeletion.Add(element); * } * } * queuedKeyUps = queuedKeyUps.Except(queuedForDeletion).ToList(); * * if (index < currentMap.HitObjects.Count) * { * if (quaverManager.QuaverBase.GameplayScreen.GameplayAudioTiming.Time >= currentMap.HitObjects[index].StartTime) * { * inputSimulator.Keyboard.KeyDown(getKeyByLaneIndex(currentMap.HitObjects[index].Lane - 1)); * queuedKeyUps.Add((currentMap.HitObjects[index].Lane, currentMap.HitObjects[index].IsLongNote ? currentMap.HitObjects[index].EndTime : currentMap.HitObjects[index].StartTime + 50)); * index++; * } * } * * Thread.Sleep(1); * } * * releaseAllKeys();*/ }