Exemple #1
0
 public override void Dispose()
 {
     base.Dispose();
     _lastParentBinding?.Unbind();
     _lastParentBinding   = null;
     _lastParentComponent = null;
 }
Exemple #2
0
        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;
        }
Exemple #3
0
 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);
 }
Exemple #4
0
#pragma warning restore CS0067

        public MethodParam(ParameterInfo parameter, API.IComponent obj, object overrideDefault = null)
            : this(parameter, obj, obj, null, overrideDefault)
        {
        }