Esempio n. 1
0
        public override void PopulateOperandView(BHAVEditor master, EditorScope escope, TableLayoutPanel panel)
        {
            panel.Controls.Add(new OpLabelControl(master, escope, Operand, new OpStaticTextProvider("Cycles the object with ID in the Target location to the next object of a specified type. Returns false when none or no more are available.")));
            var types = new OpStaticNamedPropertyProvider(EditorScope.Behaviour.Get <STR>(164), 0);

            types.EnsureProperty(100, "obj with same semiglobal as");
            panel.Controls.Add(new OpComboControl(master, escope, Operand, "Search Type:", "SearchType", types));


            panel.Controls.Add(new OpScopeControl(master, escope, Operand, "Target Scope: ", "TargetOwner", "TargetData"));

            panel.Controls.Add(new OpLabelControl(master, escope, Operand, new OpStaticTextProvider("Properties for specific search types:")));
            panel.Controls.Add(new OpObjectControl(master, escope, Operand, "Object Type: ", "GUID"));
            panel.Controls.Add(new OpValueControl(master, escope, Operand, "Local: ", "Local", new OpStaticValueBoundsProvider(-32768, 32767)));
        }
        public override void PopulateOperandView(BHAVEditor master, EditorScope escope, TableLayoutPanel panel)
        {
            panel.Controls.Add(new OpLabelControl(master, escope, Operand, new OpStaticTextProvider("Finds a location to place the Stack Object, using a variety of modes and options.")));
            var modes = new OpStaticNamedPropertyProvider(EditorScope.Behaviour.Get <STR>(239));

            modes.EnsureProperty(5, "random");
            panel.Controls.Add(new OpComboControl(master, escope, Operand, "Mode:", "Mode", modes));

            panel.Controls.Add(new OpFlagsControl(master, escope, Operand, "Flags:", new OpFlag[] {
                new OpFlag("Use Local As Ref", "UseLocalAsRef"),
                new OpFlag("Prefer Non-Empty", "PreferNonEmpty"),
                new OpFlag("User Editable Tiles Only", "UserEditableTilesOnly"),
            }));
            panel.Controls.Add(new OpLabelControl(master, escope, Operand, new OpStaticTextProvider("If 'Use Local As Ref' is set, the object with ID specified in the local is used as the starting position instead of the caller.")));
            panel.Controls.Add(new OpComboControl(master, escope, Operand, "Local:", "Local", new OpStaticNamedPropertyProvider(escope.GetVarScopeDataNames(VMVariableScope.Local))));
        }