/// <summary> /// Creates a blank frame with only the name set. /// </summary> /// <param name="name">The display name for the frame.</param> private PlayFrame(PlayModel model, String name) { mPlayModel = model; Name = name; Notes = ""; PlayerMovement = new Dictionary<Player, List<LinearMovement>>(); Triggers = new List<Trigger>(); DiscFrameMovement = new DiscMovement(this); UniqueId = NextUniqueId++; }
/// <summary> /// Remove a single player from the frame including anything attached to /// the player /// </summary> /// <param name="player"></param> public void RemovePlayer(Player player) { // If the player being removed was the one with the disc then we need // to remove the disc movement completely. // // If they were the one receiving the disc then we need to reset the // disc movement. if (this.DiscFrameMovement.Thrower != null && this.DiscFrameMovement.Thrower.Equals(player)) { DiscFrameMovement = new DiscMovement(this); } else if (DiscFrameMovement.ReceivingCut != null && DiscFrameMovement.ReceivingCut.Player.Equals(player)) { DiscFrameMovement.ReceivingCut = null; DiscFrameMovement.HasMoved = false; } // Delete any triggers which reference this player at all Triggers.RemoveAll(trigger => trigger.AffectedPlayer == player || trigger.CausingCutRatio.Player == player); PlayerMovement.Remove(player); }
public DesignToViewConverter(PlayFrame frame, DiscMovement discMovement, Dictionary<Player, List<LinearMovement>> playerMovement, List<Trigger> triggers) { mDiscFrameMovement = discMovement; mPlayerMovement = playerMovement; mTriggers = triggers; mFrame = frame; mFramePlayData = new FramePlayData(); mFramePlayData.PlayData = new List<List<ItemPlayData>>(); mFramePlayData.PauseTexts = new Dictionary<int, String>(); mProcessedPlayers = new List<Player>(); mPlayerDelays = new Dictionary<Player,int>(); }