/*-----------------------------------------------------------------------------------------------------------*/ /*----------------------------------------------MISSED SHOT END----------------------------------------------*/ /*-----------------------------------------------------------------------------------------------------------*/ /************************************************************************************************************/ /**************************************************TURNOVER**************************************************/ /************************************************************************************************************/ /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void turnover_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left || e.Button == MouseButtons.Right) { if (firstSelectedPlayer == null) { MessageBox.Show("Please select at least one player above", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (secondSelectedPlayer != null && firstSelectedPlayer.TeamId == secondSelectedPlayer.TeamId) { MessageBox.Show("Selected players must be on different teams", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (!pointSelected) { MessageBox.Show("Please select a location on the court", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { firstSelectedContext.Text = "Commit"; if (secondSelectedContext != null) secondSelectedContext.Text = "Forced"; DataForm dataForm = new DataForm(pac, "turnover", -1, generateDataFormLocation(turnoverButton)); dataForm.ShowDialog(); if (dataForm.cancelled) { return; } string forcedBy = secondSelectedPlayer == null ? null : secondSelectedPlayer.Id; TurnoverEvent te = new TurnoverEvent(pac, firstSelectedPlayer.Id, forcedBy, dataForm.turnoverType, currPoint); confirmAndSendEvent(te); } } }
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; }