public override void Dispose() { base.Dispose(); _lastParentBinding?.Unbind(); _lastParentBinding = null; _lastParentComponent = null; }
public static async Task Show(AGSEditor editor) { if (_component != null) { _component.PropertyChanged -= onPropertyChanged; } var gameSelector = new ComboboxboxField("Game", "Game", "Editor"); var entitySelector = new TextboxField("Entity ID"); var componentSelector = new TextboxField("Component"); var propertySelector = new TextboxField("Property Name"); var simpleForm = new SimpleForm(editor.Editor, gameSelector, entitySelector, componentSelector, propertySelector); await simpleForm.ShowAsync("Break Debugger when property changes"); var game = gameSelector.Value == "Game" ? editor.Game : editor.Editor; var entity = game.Find <IEntity>(entitySelector.Value); if (entity == null) { await AGSMessageBox.DisplayAsync($"Did not find entity id {entitySelector.Value}", editor.Editor); return; } var component = entity.FirstOrDefault(c => c.Name == componentSelector.Value); if (component == null) { await AGSMessageBox.DisplayAsync($"Did not find component {componentSelector.Value} for entity id {entitySelector.Value}", editor.Editor); return; } _component = component; _property = propertySelector.Value; component.PropertyChanged += onPropertyChanged; }
public MethodParam(ParameterInfo parameter, API.IComponent component, object obj, IProperty parent, object overrideDefault = null) { _param = parameter; DisplayName = Name.Humanize(); Object = obj; Component = component; Parent = parent; Children = new List <IProperty>(); Value = new ValueModel(overrideDefault ?? (parameter.HasDefaultValue ? parameter.DefaultValue : GetDefaultValue(PropertyType)), type: PropertyType); }
#pragma warning restore CS0067 public MethodParam(ParameterInfo parameter, API.IComponent obj, object overrideDefault = null) : this(parameter, obj, obj, null, overrideDefault) { }