public void RecalculateCurrentLap() { // readd timeframes to current lap after the end of last lap var currentLap = Laps.Current as MemoryLap; if (currentLap == null) { return; } currentLap.Reset(); var timeStart = StartTime; foreach (var laps in Laps) { var lapEndTime = laps.StartTime.AddSeconds(laps.ElapsedTime); if (lapEndTime > timeStart) { timeStart = lapEndTime; } } foreach (var timeFrame in TimeFrames.Where(timeFrame => timeFrame.Timestamp > timeStart)) { currentLap.AddTimeFrame(timeFrame); } }
static List <Game> FilterGamesTimeFrame(List <Game> games, TimeFrames timeFrame) { switch (timeFrame) { case TimeFrames.ALL: return(games); case TimeFrames.MONTH: DateTime monthAgo = DateTime.Now.AddDays(-30); List <Game> filteredGames = new List <Game>(); foreach (Game game in games) { if (game.played > monthAgo) { filteredGames.Add(game); } } return(filteredGames); case TimeFrames.WEEK: DateTime weekAgo = DateTime.Now.AddDays(-7); filteredGames = new List <Game>(); foreach (Game game in games) { if (game.played > weekAgo) { filteredGames.Add(game); } } return(filteredGames); } return(games); }
/// <summary> /// Checks if inhaler can be used at the current time. /// Open if yes or show notification. /// </summary> private void CheckToOpenInhaler() { if (PlayPeriodLogic.Instance.CanUseEverydayInhaler()) { OpenRealInhaler(); } else { TimeFrames currentTimeFrame = PlayPeriodLogic.GetTimeFrame(LgDateTime.GetTimeNow()); string popupMessage; if (currentTimeFrame == TimeFrames.Morning) { popupMessage = "POPUP_INHALER_TONIGHT"; AudioManager.Instance.PlayClip("superWellaInhalerTonight"); } else { popupMessage = "POPUP_INHALER_MORNING"; AudioManager.Instance.PlayClip("superWellaInhalerMorning"); } // Display tutorial notification Hashtable notificationEntry = new Hashtable(); notificationEntry.Add(NotificationPopupData.PrefabName, "PopupInhalerRecharging"); notificationEntry.Add(NotificationPopupData.Title, null); notificationEntry.Add(NotificationPopupData.Message, Localization.Localize(popupMessage)); notificationEntry.Add(NotificationPopupData.SpecialButtonCallback, null); NotificationUIManager.Instance.AddToQueue(notificationEntry); } }
public void InsertTimeFrameData() { try { List <TimeFrames> timeFrameList = new List <TimeFrames>(); using (var context = new IgContext()) { TimeFrames frame1min = new TimeFrames(); frame1min.TimeFrameId = 1; frame1min.Name = "1m"; timeFrameList.Add(frame1min); TimeFrames frame5min = new TimeFrames(); frame5min.TimeFrameId = 2; frame5min.Name = "5m"; timeFrameList.Add(frame5min); TimeFrames frame15min = new TimeFrames(); frame15min.TimeFrameId = 3; frame15min.Name = "15m"; timeFrameList.Add(frame15min); TimeFrames frame30min = new TimeFrames(); frame30min.TimeFrameId = 4; frame30min.Name = "30m"; timeFrameList.Add(frame30min); TimeFrames frame60min = new TimeFrames(); frame60min.TimeFrameId = 5; frame60min.Name = "60m"; timeFrameList.Add(frame60min); TimeFrames frame240min = new TimeFrames(); frame240min.TimeFrameId = 6; frame240min.Name = "240m"; timeFrameList.Add(frame240min); TimeFrames frame1d = new TimeFrames(); frame1d.TimeFrameId = 7; frame1d.Name = "1d"; timeFrameList.Add(frame1d); TimeFrames frame1w = new TimeFrames(); frame1w.TimeFrameId = 8; frame1w.Name = "1w"; timeFrameList.Add(frame1w); context.TimeFrames.AddRange(timeFrameList); context.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e); throw; } }
public List <Candle> Get(TimeFrames timeFrame) { if (_candles.ContainsKey(timeFrame)) { return(_candles[timeFrame]); } return(new List <Candle>()); }
void Update() { Vector2 newMovement = new Vector2( (leftKey.CheckKey() ? -1 : 0) + (rightKey.CheckKey() ? 1 : 0), (downKey.CheckKey() ? -1 : 0) + (upKey.CheckKey() ? 1 : 0) ); movement = Vector2.Lerp(movement, newMovement, Time.deltaTime * momentumGainSpeed); CheckGround(); isJumping = TimeFrames.ToFrames(Time.time - lastJumpTime) <= jumpFrames; if (isGrounded) { jumpCount = 0; isChangingPlanet = false; } CheckDoubleTaps(); if (downKey.CheckKeyUp() || isGrounded) { isFastFalling = false; } if (!isJumping && !isChangingPlanet) { if (jumpKey.CheckKeyDown() && jumpCount < maxAerialJumps) { rb.velocity = transform.up * jumpForce; lastJumpTime = Time.time; if (!isGrounded) { jumpCount++; } } else if (downKey.CheckKeyDown()) { isFastFalling = true; } } isFastFalling = downKey.CheckKey() && isFastFalling; transform.Translate(Vector3.right * movement.x * speed * Time.deltaTime); gravityMultiplier = isChangingPlanet ? planetTravelGravityMultiplier : (isFastFalling ? fastFallGravityMultiplier : defaultGravityMultiplier); CheckShielding(); UpdateAnim(newMovement); }
public async Task Score(string sortArg = "score", string timeArg = "all") { string timeArgF = timeArg.ToLower(); string sortArgF = sortArg.ToLower(); TimeFrames timeFrame = TimeFrames.ALL; LeaderboardSortTypes leaderboardType = LeaderboardSortTypes.SCORE; if (timeArgF == "week" || timeArgF == "weekly") { timeFrame = TimeFrames.WEEK; } if (timeArgF == "month" || timeArgF == "monthly") { timeFrame = TimeFrames.MONTH; } if (sortArgF == "kill" || sortArgF == "kills") { leaderboardType = LeaderboardSortTypes.KILLS; } else if (sortArgF == "death" || sortArgF == "deaths") { leaderboardType = LeaderboardSortTypes.DEATHS; } else if (sortArgF == "assist" || sortArgF == "assists") { leaderboardType = LeaderboardSortTypes.ASSISTS; } else if (sortArgF == "vision" || sortArgF == "visionscore") { leaderboardType = LeaderboardSortTypes.VISION; } else if (sortArgF == "creep" || sortArgF == "creepscore" || sortArgF == "cs") { leaderboardType = LeaderboardSortTypes.CS; } List <PlayerScore> orderedList = GameUtility.CreateLeaderboard(leaderboardType, timeFrame, BotMain.database); int counter = 1; Console.WriteLine(leaderboardType); foreach (PlayerScore player in orderedList) { await ReplyAsync(counter ++ + ". " + Context.Client.GetUser(player.player.discordID).Username + " - " + player.score); if (counter > 10) { break; } } }
/// <summary>Request a series from the server in a background thread</summary> private void AcquireSeries(TimeFrame time_frame, TradeeBotModel model) // worker thread context { var symbol = (Symbol)null; var series = (MarketSeries)null; var error = (Exception)null; try { // Get the symbol symbol = model.GetSymbol(SymbolCode); if (symbol == null) { throw new Exception("Symbol {0} not available".Fmt(SymbolCode)); } // Get the data series series = model.GetSeries(symbol, time_frame); } catch (Exception ex) { error = ex; } finally { // Add the received series to the collection model.RunOnMainThread(() => { // If the symbol was unavailable, then flag the transmitter for deletion if (symbol == null) { Invalid = true; } // If the series is unavailable, remove it from the desired list else if (series == null) { TimeFrames = TimeFrames.Except(time_frame.ToTradeeTimeframe()).ToArray(); } // Otherwise add the acquired series to the available data else { Data.Add(m_pending, new MarketSeriesData(series)); } // Clear the pending flags m_pending = null; RequestingSeriesData = false; StatusMsg = error != null ? error.Message : "Active"; }); } }
public bool CheckDoubleTap(int doubleTapDelay) { bool _keyStroked = keyStroked; float _lastKeyStroke = lastKeyStroke; bool keyDown = CheckKeyDown(); if (_keyStroked && keyDown && (TimeFrames.ToFrames(Time.time - _lastKeyStroke) <= doubleTapDelay)) { keyStroked = false; return(true); } return(false); }
static int GetCSOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); int cs = 0; foreach (Game game in games) { cs += game.creepScore; } return(cs); }
static int GetVisionScoreOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); int vision = 0; foreach (Game game in games) { vision += game.visionScore; } return(vision); }
static int GetDeathsOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); int deaths = 0; foreach (Game game in games) { deaths += game.deaths; } return(deaths); }
static int GetAssistsOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); int assissts = 0; foreach (Game game in games) { assissts += game.assists; } return(assissts); }
static int GetKillsOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); int kills = 0; foreach (Game game in games) { kills += game.kills; } return(kills); }
private void Add(CoinJoinFeeRateStat feeRateStat) { CoinJoinFeeRateStats.Add(feeRateStat); DefaultAverages = TimeFrames.Select(t => new CoinJoinFeeRateAverage(t, GetAverage(t))).ToArray(); // Prune old items. DateTimeOffset removeBefore = DateTimeOffset.UtcNow - MaximumTimeToStore; while (CoinJoinFeeRateStats.Any() && CoinJoinFeeRateStats[0].DateTimeOffset < removeBefore) { CoinJoinFeeRateStats.RemoveAt(0); } }
public WorkTimeReportViewModel() { if (TimeFrames == null) { TimeFrames = new ObservableCollection <string>(); } for (int i = 0; i < 48; i++) { TimeSpan ts = TimeSpan.FromMinutes(30 * i); TimeFrames.Add(ts.Hours.ToString() + ":" + ts.Minutes.ToString()); } SelectedIndexStart = 15; SelectedIndexStop = 31; CarSelector.OnCarChanged += CarSelector_OnCarChanged; StartLoadData(); }
void OnApplicationQuit() { Int32 unixTimestamp = (Int32)(System.DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; TimeFrames timeFramesObject = new TimeFrames(); timeFramesObject.timeFrames = new TimeFrame[timeFrames.Count]; timeFramesObject.timeFrames = timeFrames.ToArray(); if (!(Directory.Exists(exportDirectory))) { Directory.CreateDirectory(exportDirectory); } string savePath = Path.Combine(exportDirectory, this.transform.name + "_" + unixTimestamp + ".json"); var json = JsonConvert.SerializeObject(timeFramesObject); using (var streamWriter = File.CreateText(savePath)) { streamWriter.Write(json); Debug.Log("Saved marker positions to path: " + savePath); } }
static int GetScoreOfPlayer(PlayerObject player, TimeFrames timeFrame, Database database) { List <Game> games = FilterGamesTimeFrame(database.GetGamesOfUser(player.discordID), timeFrame); games.Sort((A, B) => A.played > B.played ? 1 : -1); HashSet <int> champsPlayedLast10 = new HashSet <int>(); int score = 0; for (int i = 0; i < games.Count; i++) { Game game = games[i]; int championPlayed = game.championPlayed; champsPlayedLast10.Add(championPlayed); if (game.win) { score += 2; } else { score += 1; } if (player.IsMain(game.summoner)) { score += 1; } if (i % 10 == 9) { score -= (champsPlayedLast10.Count - 1); champsPlayedLast10.Clear(); } } Console.WriteLine(score); return(score); }
public static List <PlayerScore> CreateLeaderboard(LeaderboardSortTypes sortType, TimeFrames timeFrame, Database database) { List <PlayerScore> scores = new List <PlayerScore>(); foreach (PlayerObject player in database.GetAllPlayers()) { scores.Add(new PlayerScore(player)); } Func <PlayerObject, TimeFrames, Database, int> scoreFetchFunc; switch (sortType) { case LeaderboardSortTypes.SCORE: scoreFetchFunc = GetScoreOfPlayer; break; case LeaderboardSortTypes.KILLS: scoreFetchFunc = GetKillsOfPlayer; break; case LeaderboardSortTypes.DEATHS: scoreFetchFunc = GetDeathsOfPlayer; break; case LeaderboardSortTypes.ASSISTS: scoreFetchFunc = GetAssistsOfPlayer; break; case LeaderboardSortTypes.CS: scoreFetchFunc = GetCSOfPlayer; break; case LeaderboardSortTypes.VISION: scoreFetchFunc = GetVisionScoreOfPlayer; break; default: scoreFetchFunc = GetScoreOfPlayer; break; } foreach (PlayerScore score in scores) { score.score = scoreFetchFunc(score.player, timeFrame, database); } scores.Sort((A, B) => A.score < B.score ? 1 : -1); return(scores); }
public override string ToString() { return("{0} - {1} - {2}".Fmt(SymbolCode, string.Join(" ", TimeFrames.Select(x => x.Desc())), m_price)); }
public static float DeltaTime(TimeFrames timeFrame) { return(framesEnabled.Contains(timeFrame) ? realDeltaTime : 0f); }
public static bool IsPaused(TimeFrames timeFrame) { return(!framesEnabled.Contains(timeFrame)); }
/// <summary>Poll instrument state</summary> public void Step() { // Don't run invalid transmitters, just wait for deletion if (Invalid) { return; } // Get the time frames to send, and the time frames being sent var desired = TimeFrames.Select(x => x.ToCAlgoTimeframe()).ToArray(); var available = AvailableTimeFrames; // Look for any missing time frames var to_get = desired.FirstOrDefault(x => !available.Contains(x)); if (m_pending == null && to_get != null) { RequestingSeriesData = true; m_pending = to_get; // Get the missing time frame series. // This can take ages so do it in a background thread StatusMsg = "Acquiring {0},{1}".Fmt(SymbolCode, m_pending.ToTradeeTimeframe()); // Start a background thread task to get the series data var model = Model; ThreadPool.QueueUserWorkItem(x => AcquireSeries((TimeFrame)x, model), m_pending); } // Transmit data for each time frame foreach (var tf in available) { // If not needed any more, remove it from 'Data' if (!desired.Contains(tf)) { Data.Remove(tf); continue; } // Get the market series for this time frame MarketSeriesData data; if (Data.TryGetValue(tf, out data)) { SendMarketData(data); } } // Service any historic data requests var done = new HashSet <HistoricDataRequest>(); foreach (var req in HistoricDataRequests) { // Get the market series for the requested time frame MarketSeriesData data; if (!Data.TryGetValue(req.TimeFrame, out data)) { continue; } try { // Get the index range for the request time range var count = data.Series.OpenTime.Count; var i_oldest = req.UseIndices ? req.OldestIndex : count - data.Series.OpenTime.GetIndexByTime(req.Beg.DateTime); // oldest (i.e. largest index) var i_newest = req.UseIndices ? req.NewestIndex : count - data.Series.OpenTime.GetIndexByTime(req.End.DateTime); // newest (i.e. smallest index) SendHistoricMarketData(data.Series, i_oldest, i_newest); } catch { } // ignore failures done.Add(req); } // Remove the requests we've serviced HistoricDataRequests.RemoveIf(x => done.Contains(x)); }