public FoulEvent(Alpaca pac, string team, string committedBy, string drewBy, string foulType, Boolean ejected, Point location) : base(pac) { this.committedBy = committedBy; this.committedByPlayer = pac.getPlayer(committedBy); this.drewBy = drewBy; this.drewByPlayer = pac.getPlayer(drewBy); this.foulType = foulType; this.ejected = ejected; this.location = location; this.team = team; apiCall = "foul"; }
public ReboundEvent(Alpaca pac, string rebounder, string reboundType, Point location) : base(pac) { apiCall = "rebound"; this.rebounder = rebounder; this.reboundType = reboundType; this.location = location; rebounderName = pac.getPlayer(rebounder).DisplayName; }
public List<Event> getEvents(Alpaca pac) { List<Event> events = new List<Event>(); if (gameEvents == null) return events; foreach(Dictionary<string, object> dict in gameEvents) { Event e = null; string eventType = dict["eventType"].ToString().Split(new char[] { '/' })[1]; Console.WriteLine("Found eventType: " + eventType); Context context = JsonConvert.DeserializeObject<Context>(dict["context"].ToString()); if (eventType.Equals("gameEnd")) { e = new GameEndEvent(pac); } else if (eventType.Equals("periodStart")) { Console.WriteLine("Found a periodStart event"); e = new PeriodStartEvent(pac); } else if (eventType.Equals("periodEnd")) { e = new PeriodEndEvent(pac); } else if (eventType.Equals("madeShot")) { string shooter = dict["shooter"].ToString(); object assisted; dict.TryGetValue("assistedBy", out assisted); string assistedBy = null; if (assisted != null) assistedBy = assisted.ToString(); string shotType = dict["shotType"].ToString(); int pointsScored = int.Parse(dict["pointsScored"].ToString()); bool fastBreak = bool.Parse(dict["fastBreakOpportunity"].ToString()); bool goaltending = bool.Parse(dict["goaltending"].ToString()); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); Console.WriteLine("made shot"); Console.WriteLine(shooter); Console.WriteLine(location[0] + " " + location[1]); e = new MadeShotEvent(pac, shooter, pac.getPlayer(shooter).TeamId, assistedBy, shotType, pointsScored, fastBreak, goaltending, locPt); } else if (eventType.Equals("missedShot")) { string shooter = dict["shooter"].ToString(); object blocked; dict.TryGetValue("blockedBy", out blocked); string blockedBy = null; if (blocked != null) blockedBy = blocked.ToString(); string shotType = dict["shotType"].ToString(); int pointsAttempted = int.Parse(dict["pointsAttempted"].ToString()); bool fastBreak = bool.Parse(dict["fastBreakOpportunity"].ToString()); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); e = new MissedShotEvent(pac, shooter, pac.getPlayer(shooter).TeamId, blockedBy, shotType, pointsAttempted, fastBreak, locPt); } else if (eventType.Equals("jumpBall")) { string homePlayer = dict["homePlayer"].ToString(); string awayPlayer = dict["awayPlayer"].ToString(); string winner = dict["winner"].ToString(); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); e = new JumpballEvent(pac, homePlayer, awayPlayer, winner, locPt); } else if (eventType.Equals("rebound")) { object rebound; dict.TryGetValue("rebounder", out rebound); string rebounder = null; if (rebound != null) { rebounder = rebound.ToString(); } string reboundType = dict["reboundType"].ToString(); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); e = new ReboundEvent(pac, rebounder, reboundType, locPt); } else if (eventType.Equals("substitution")) { string exitingPlayer = dict["exitingPlayer"].ToString(); string enteringPlayer = dict["enteringPlayer"].ToString(); e = new SubstitutionEvent(pac, enteringPlayer, exitingPlayer, pac.getPlayer(enteringPlayer).TeamId); } else if (eventType.Equals("turnover")) { string committedBy = dict["committedBy"].ToString(); object forced; dict.TryGetValue("forcedBy", out forced); string forcedBy = null; if (forced != null) { forcedBy = forced.ToString(); } string turnoverType = dict["turnoverType"].ToString(); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); e = new TurnoverEvent(pac, committedBy, forcedBy, turnoverType, locPt); } else if (eventType.Equals("timeout")) { object team; dict.TryGetValue("timeoutTeam", out team); string timeoutTeam = null; if (team != null) { timeoutTeam = team.ToString(); } string timeoutType = dict["timeoutType"].ToString(); e = new TimeoutEvent(pac, timeoutTeam, timeoutType); } else if (eventType.Equals("foul")) { string committedBy = dict["committedBy"].ToString(); object drew; dict.TryGetValue("drewBy", out drew); string drewBy = null; if (drew != null) { drewBy = drew.ToString(); } string foulType = dict["foulType"].ToString(); bool ejected = bool.Parse(dict["ejected"].ToString()); int[] location = JsonConvert.DeserializeObject<int[]>(dict["location"].ToString()); Point locPt = new Point(location[0], location[1]); e = new FoulEvent(pac, pac.getPlayer(committedBy).TeamId, committedBy, drewBy, foulType, ejected, locPt); } if (e != null) { e.EventId = dict["eventId"].ToString(); e.setContext(context); e.resolve(); events.Add(e); } } return events; }