public static XDocument GenerateStateXml(ICompleteState state) { var xmlDocument = new XDocument(); var completeStateElement = new XElement("CompleteState"); var soundStatesElement = new XElement("SoundStates"); foreach(var soundState in state.SoundStates) { soundStatesElement.Add(soundState.GenerateXml()); } completeStateElement.Add(soundStatesElement); var quickSoundStatesElement = new XElement("QuickSoundStates"); foreach (var quickSoundState in state.QuickSoundStates) { quickSoundStatesElement.Add(quickSoundState.GenerateXml()); } completeStateElement.Add(quickSoundStatesElement); xmlDocument.Add(completeStateElement); return xmlDocument; }
public void PopulateFromState(ICompleteState completeState) { if (tablePanel.Controls.Count > 0) { ClearUIControls(); } foreach(ISoundState state in completeState.SoundStates) { var control = PlayerControlFactory.GetSoundControl(state); tablePanel.Controls.Add(control as Control, control.ColumnPosition, control.RowPosition); } for(int column = 0; column < MaxPlayerColumns; column++) { for (int row = 0; row < MaxPlayerRows; row++) { if(tablePanel.GetControlFromPosition(column, row) == null) { var placeholder = new PlaceholderControl(); placeholder.ContextMenuStrip = playerContextMenuStrip; tablePanel.Controls.Add(placeholder, column, row); } } } }