private void checkData(ValueChangedEvent <ProjectElement> obj) { activeEditContainer.FadeTo(obj.NewValue == null ? 0 : 1); noSelectionContainer.FadeTo(obj.NewValue == null ? 1 : 0); nameTextBox.Current.UnbindEvents(); sizeTextBoxX.Current.UnbindEvents(); sizeTextBoxY.Current.UnbindEvents(); descriptionTextBox.Current.UnbindEvents(); if (obj.NewValue != null) { nameTextBox.Text = obj.NewValue.Name.Value; descriptionTextBox.Text = obj.NewValue.Description.Value; } if (obj.NewValue is IHasSize size) { elementSize.Show(); sizeTextBoxX.Text = size.Size.Value.X.ToString(CultureInfo.InvariantCulture); sizeTextBoxY.Text = size.Size.Value.Y.ToString(CultureInfo.InvariantCulture); sizeTextBoxX.Current.ValueChanged += sizeObj => size.Size.Value = new Vector2(float.Parse(string.IsNullOrEmpty(sizeObj.NewValue) ? sizeObj.OldValue : sizeObj.NewValue), size.Size.Value.Y); sizeTextBoxY.Current.ValueChanged += sizeObj => size.Size.Value = new Vector2(size.Size.Value.X, float.Parse(string.IsNullOrEmpty(sizeObj.NewValue) ? sizeObj.OldValue : sizeObj.NewValue)); } else { elementSize.Hide(); } if (obj.NewValue is Board board) { elementSubElements.Show(); tilesManagerContainer.Filter = t => { return(board.Elements.Any(ti => ti.ID == t.ID)); }; tilesManagerContainer.ButtonAction = () => { board.Elements.Add(new Tile()); project.AddElement(board.Elements.Last()); }; } else { elementSubElements.Hide(); } if (obj.NewValue != tileOverlay.SelectedTile) { tileOverlay.Hide(); } descriptionTextBox.Current.ValueChanged += text => currentEditing.Value.Description.Value = text.NewValue; nameTextBox.Current.ValueChanged += text => currentEditing.Value.Name.Value = text.NewValue; }
private void checkData(ValueChangedEvent <ProjectElement> obj) { activeEditContainer.FadeTo(obj.NewValue == null ? 0 : 1); noSelectionContainer.FadeTo(obj.NewValue == null ? 1 : 0); unbindBindings(obj.OldValue); if (obj.NewValue != null) { nameTextBox.Text = obj.NewValue.Name.Value; descriptionTextBox.Text = obj.NewValue.Description.Value; } if (obj.NewValue is IHasSize size) { elementSize.Show(); elementSize.Current.Value = size.Size.Value; size.Size.BindTo(elementSize.Current); } else { elementSize.Hide(); } if (obj.NewValue is IHasOrientation orientation) { elementOrientation.Show(); elementOrientation.Current.Value = orientation.DefaultOrientation.Value; orientation.DefaultOrientation.BindTo(elementOrientation.Current); } else { elementOrientation.Hide(); } if (obj.NewValue is IHasSideVisible sideVisible) { elementSideVisible.Show(); elementSideVisible.Current.Value = sideVisible.DefaultSide.Value; sideVisible.DefaultSide.BindTo(elementSideVisible.Current); } else { elementSideVisible.Hide(); } if (obj.NewValue is IHasPrivacy privacy) { elementPrivacy.Show(); elementPrivacy.Current.Value = privacy.DefaultPrivacy.Value; privacy.DefaultPrivacy.BindTo(elementPrivacy.Current); } else { elementPrivacy.Hide(); } if (obj.NewValue is IHasPosition position) { elementPosition.Show(); elementPosition.Current.Value = position.Position.Value; position.Position.BindTo(elementPosition.Current); } else { elementPosition.Hide(); } if (obj.NewValue is Board board) { elementSubElements.Show(); tilesManagerContainer.Filter = t => { return(board.Elements.Any(ti => ti.ID == t.ID)); }; tilesManagerContainer.ButtonAction = () => { var toBeAdded = new Tile(); board.Elements.Add(toBeAdded); toBeAdded.Parent = board; project.AddElement(board.Elements.Last()); }; } else { elementSubElements.Hide(); } if (obj.NewValue != tileOverlay.SelectedTile) { tileOverlay.Hide(); } }