Merge branch 'Chikinsupu-VisualScript-FixPrivateParamInvisibleSetterGetter'
This commit is contained in:
@@ -583,7 +583,7 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
|
|
||||||
// Check if surface has any parameters
|
// Check if surface has any parameters
|
||||||
var parameters = _parametersGetter?.Invoke();
|
var parameters = _parametersGetter?.Invoke();
|
||||||
int count = parameters?.Count(x => x.IsPublic) ?? 0;
|
int count = parameters?.Count ?? 0;
|
||||||
if (count > 0)
|
if (count > 0)
|
||||||
{
|
{
|
||||||
// TODO: cache the allocated memory to reduce dynamic allocations
|
// TODO: cache the allocated memory to reduce dynamic allocations
|
||||||
@@ -592,28 +592,6 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
var archetypes = new NodeArchetype[count];
|
var archetypes = new NodeArchetype[count];
|
||||||
int archetypeIndex = 0;
|
int archetypeIndex = 0;
|
||||||
|
|
||||||
// ReSharper disable once PossibleNullReferenceException
|
|
||||||
for (int i = 0; i < parameters.Count; i++)
|
|
||||||
{
|
|
||||||
var param = parameters[i];
|
|
||||||
if (!param.IsPublic)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var node = (NodeArchetype)_parameterGetNodeArchetype.Clone();
|
|
||||||
node.Title = "Get " + param.Name;
|
|
||||||
node.DefaultValues[0] = param.ID;
|
|
||||||
archetypes[archetypeIndex++] = node;
|
|
||||||
|
|
||||||
if (_parameterSetNodeArchetype != null)
|
|
||||||
{
|
|
||||||
node = (NodeArchetype)_parameterSetNodeArchetype.Clone();
|
|
||||||
node.Title = "Set " + param.Name;
|
|
||||||
node.DefaultValues[0] = param.ID;
|
|
||||||
node.DefaultValues[1] = TypeUtils.GetDefaultValue(param.Type);
|
|
||||||
archetypes[archetypeIndex++] = node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var groupArchetype = new GroupArchetype
|
var groupArchetype = new GroupArchetype
|
||||||
{
|
{
|
||||||
GroupID = 6,
|
GroupID = 6,
|
||||||
@@ -626,26 +604,39 @@ namespace FlaxEditor.Surface.ContextMenu
|
|||||||
group.ArrowImageOpened = new SpriteBrush(Style.Current.ArrowDown);
|
group.ArrowImageOpened = new SpriteBrush(Style.Current.ArrowDown);
|
||||||
group.ArrowImageClosed = new SpriteBrush(Style.Current.ArrowRight);
|
group.ArrowImageClosed = new SpriteBrush(Style.Current.ArrowRight);
|
||||||
group.Close(false);
|
group.Close(false);
|
||||||
archetypeIndex = 0;
|
|
||||||
|
// ReSharper disable once PossibleNullReferenceException
|
||||||
for (int i = 0; i < parameters.Count; i++)
|
for (int i = 0; i < parameters.Count; i++)
|
||||||
{
|
{
|
||||||
var param = parameters[i];
|
var param = parameters[i];
|
||||||
if (!param.IsPublic)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var item = new VisjectCMItem(group, groupArchetype, archetypes[archetypeIndex++])
|
// Define Getter node and create CM item
|
||||||
|
var node = (NodeArchetype)_parameterGetNodeArchetype.Clone();
|
||||||
|
node.Title = "Get " + param.Name;
|
||||||
|
node.DefaultValues[0] = param.ID;
|
||||||
|
archetypes[archetypeIndex++] = node;
|
||||||
|
|
||||||
|
var item = new VisjectCMItem(group, groupArchetype, node)
|
||||||
{
|
{
|
||||||
Parent = group
|
Parent = group
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Define Setter node and create CM item if parameter has a setter
|
||||||
if (_parameterSetNodeArchetype != null)
|
if (_parameterSetNodeArchetype != null)
|
||||||
{
|
{
|
||||||
item = new VisjectCMItem(group, groupArchetype, archetypes[archetypeIndex++])
|
node = (NodeArchetype)_parameterSetNodeArchetype.Clone();
|
||||||
|
node.Title = "Set " + param.Name;
|
||||||
|
node.DefaultValues[0] = param.ID;
|
||||||
|
node.DefaultValues[1] = TypeUtils.GetDefaultValue(param.Type);
|
||||||
|
archetypes[archetypeIndex++] = node;
|
||||||
|
|
||||||
|
item = new VisjectCMItem(group, groupArchetype, node)
|
||||||
{
|
{
|
||||||
Parent = group
|
Parent = group
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
group.SortChildren();
|
group.SortChildren();
|
||||||
group.UnlockChildrenRecursive();
|
group.UnlockChildrenRecursive();
|
||||||
group.Parent = _groupsPanel;
|
group.Parent = _groupsPanel;
|
||||||
|
|||||||
Reference in New Issue
Block a user