public void Update() { udpClient.Update(); var diff = monotonicClock.NowMilliseconds() - lastStateChange; if (diff < stateChangeWait) { return; } var statsDiff = monotonicClock.NowMilliseconds() - lastStatsUpdate; if (statsDiff > 3000) { simpleInStats = simpleIn.GetStatsAndClear(statsDiff); simpleOutStats = simpleOut.GetStatsAndClear(statsDiff); lastStatsUpdate = monotonicClock.NowMilliseconds(); } CheckDisconnect(); switch (state) { case ConnectionState.Connected: stateChangeWait = connectedPeriodInMs; lastStateChange = monotonicClock.NowMilliseconds(); break; } }
public async Task TestMinMaxRefinerComponent(MinMaxRefinerTest test, string dataSource, string table, string column) { using var scope = await testFixture.CreateTestScope(dataSource, table, column, this); // Construct MinMaxRefiner explicitly in order to inject a null result from MinMaxFromHistogramComponent var simpleStatsProvider = new SimpleStats <decimal>() { Context = scope.Context }; var histogramMinMaxProvider = new StaticResultProvider <MinMaxFromHistogramComponent.Result>(null !); var refiner = new MinMaxRefiner(simpleStatsProvider, histogramMinMaxProvider) { Context = scope.Context }; var refined = await refiner.ResultAsync; if (test != MinMaxRefinerTest.MaxOnly) { var aircloakMin = (await scope.QueryRows <Min, Min.Result <decimal> >(new Min())).Single().Min; Assert.True(refined?.Min < aircloakMin, $"Expected lower than {aircloakMin}, got {refined?.Min}"); } if (test != MinMaxRefinerTest.MinOnly) { var aircloakMax = (await scope.QueryRows <Max, Max.Result <decimal> >(new Max())).Single().Max; Assert.True(refined?.Max > aircloakMax, $"Expected higher than {aircloakMax}, got {refined?.Max}"); } }
void Awake() { rb = gameObject.GetComponent <Rigidbody2D>(); anim = gameObject.GetComponent <Animator>(); sj = gameObject.GetComponent <SimpleJump>(); sm = gameObject.GetComponent <SimpleMovement>(); ssh = gameObject.GetComponentInChildren <SimpleArmory>(); st = gameObject.GetComponent <SimpleStats>(); body = gameObject.GetComponent <SpriteRenderer>(); blood = transform.Find("Blood").GetComponent <SpriteRenderer>(); shoulder = transform.Find("Shoulder Pad").GetComponent <SpriteRenderer>(); back = transform.Find("Shoulder Back").GetComponent <SpriteRenderer>(); gun = GameObject.FindGameObjectWithTag("Gun").transform; renderGun = gun.GetComponent <SpriteRenderer>(); point = gun.Find("Point"); timer = 1f; }
public SimpleStats GetStatsAndClear(long timeInMs) { if (timeInMs < 10) { return(new SimpleStats()); } var f = timeInMs / 1000.0f; var latencyAverage = -1; if (totalLatencyCount > 0) { latencyAverage = (int)(totalLatency / totalLatencyCount); } var packetSizeAverage = -1; if (totalCount > 0) { packetSizeAverage = (int)(totalOctetSize / totalCount); } var stats = new SimpleStats { PacketCount = (int)(totalCount / f), OctetSize = (int)(totalOctetSize / f), PacketSize = packetSizeAverage, Latency = latencyAverage, }; totalCount = 0; totalOctetSize = 0; totalLatency = 0; totalLatencyCount = 0; return(stats); }
public void TestFillWeeklyStatsForOffensivePlayers() { var wrapper = new Api.ApiWrapper("nfl"); using (var context = new FantasyContext()) { var players = context.Players.ToList(); var playerStats = context.Stats.ToList(); var noStats = context.NoStats.ToList(); //var years = Enumerable.Range(2001, 13).OrderByDescending(i => i).ToList(); var years = Enumerable.Range(2011, 1).OrderByDescending(i => i).ToList(); var weeks = Enumerable.Range(1, 17).ToList(); var positions = new List <SimplePositionTypes> { SimplePositionTypes.Quarterback, SimplePositionTypes.Runningback, SimplePositionTypes.Receiver, SimplePositionTypes.TightEnd, SimplePositionTypes.Kicker }; var validPlayers = from pl in players join po in positions on pl.PrimaryPosition equals po select pl; foreach (var player in validPlayers) { foreach (var year in years) { foreach (var week in weeks) { var shouldPull = !playerStats.Any(ps => ps.Player.YahooPlayerId == player.YahooPlayerId && ps.Year.Year == year && ps.Week == week) && !noStats.Any(ns => ns.Player == player && ns.Week == week && ns.Year == year); if (!shouldPull) { continue; } var stats = new StatWrapper(); try { stats = wrapper.GetWeeklyStatsByPlayer(player.YahooPlayerId.ToString(), year.ToString(), week); } catch (KeyNotFoundException ex) { var noStat = new NoStats { Player = player, Week = week, Year = year }; context.NoStats.Add(noStat); context.SaveChanges(); continue; } catch { continue; } if (stats.Stats == null) { continue; } if (stats != null) { var simpleStat = new SimpleStats { Player = player, Year = new DateTime(year, 1, 1), Week = week, TeamName = stats.Team ?? "", TeamAbbreviation = stats.TeamAbbr ?? "", Position = player.PrimaryPosition == null ? 0 : player.PrimaryPosition }; foreach (var stat in stats.Stats) { var props = simpleStat.GetType().GetProperties(); foreach (var prop in props) { if (prop.CustomAttributes.Any(p => p.AttributeType == typeof(PlayerMappingAttribute))) { var attr = prop.GetCustomAttributes(typeof(PlayerMappingAttribute), false).FirstOrDefault(); var statId = ((PlayerMappingAttribute)attr).YahooStatId; if (stat.StatDetail.StatId == statId) { if (prop.PropertyType == typeof(int?)) { int nullableValue = 0; int.TryParse(stat.StatDetail.Value, out nullableValue); prop.SetValue(simpleStat, nullableValue); } else { var statValue = Convert.ChangeType(stat.StatDetail.Value, prop.PropertyType); prop.SetValue(simpleStat, statValue); } } } } } context.Stats.Add(simpleStat); context.SaveChanges(); } } } } } }
public void TestFillAnnualStatsForOffensivePlayers() { var wrapper = new Api.ApiWrapper("nfl"); using (var context = new FantasyContext()) { var players = context.Players.ToList(); var playerStats = context.Stats.ToList(); //var years = Enumerable.Range(2001, 13).OrderByDescending(i => i).ToList(); var years = Enumerable.Range(2013, 13).OrderByDescending(i => i).ToList(); var positions = new List <SimplePositionTypes> { //SimplePositionTypes.Quarterback, SimplePositionTypes.Runningback, SimplePositionTypes.Receiver //, //SimplePositionTypes.TightEnd, //SimplePositionTypes.Kicker }; var validPlayers = from pl in players join po in positions on pl.PrimaryPosition equals po select pl; foreach (var player in validPlayers) { foreach (var year in years) { var shouldPull = !playerStats.Any(ps => ps.Player.YahooPlayerId == player.YahooPlayerId && ps.Year.Year == year); if (!shouldPull) { continue; } var stats = new StatWrapper(); try { stats = wrapper.GetStatDataByPlayer(player.YahooPlayerId.ToString(), year.ToString()); } catch { if (stats.Stats == null) { continue; } } if (stats != null) { var simpleStat = new SimpleStats { Player = player, Year = new DateTime(year, 1, 1), Week = null, TeamName = stats.Team, TeamAbbreviation = stats.TeamAbbr }; switch (stats.Position) { case "QB": simpleStat.Position = SimplePositionTypes.Quarterback; break; case "RB": simpleStat.Position = SimplePositionTypes.Runningback; break; case "WR": simpleStat.Position = SimplePositionTypes.Receiver; break; case "TE": simpleStat.Position = SimplePositionTypes.TightEnd; break; case "DEF": simpleStat.Position = SimplePositionTypes.TeamDefense; break; case "K": simpleStat.Position = SimplePositionTypes.Kicker; break; case "CB": simpleStat.Position = SimplePositionTypes.Cornerback; break; case "DT": simpleStat.Position = SimplePositionTypes.DefensiveTackle; break; case "S": simpleStat.Position = SimplePositionTypes.Safety; break; case "LB": simpleStat.Position = SimplePositionTypes.Linebacker; break; case "DE": simpleStat.Position = SimplePositionTypes.DefensiveEnd; break; default: simpleStat.Position = SimplePositionTypes.Unknown; break; } foreach (var stat in stats.Stats) { var props = simpleStat.GetType().GetProperties(); foreach (var prop in props) { if (prop.CustomAttributes.Any(p => p.AttributeType == typeof(PlayerMappingAttribute))) { var attr = prop.GetCustomAttributes(typeof(PlayerMappingAttribute), false).FirstOrDefault(); var statId = ((PlayerMappingAttribute)attr).YahooStatId; if (stat.StatDetail.StatId == statId) { if (prop.PropertyType == typeof(int?)) { int nullableValue = 0; int.TryParse(stat.StatDetail.Value, out nullableValue); prop.SetValue(simpleStat, nullableValue); } else { var statValue = Convert.ChangeType(stat.StatDetail.Value, prop.PropertyType); prop.SetValue(simpleStat, statValue); } } } } } context.Stats.Add(simpleStat); context.SaveChanges(); } } } } }