mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-02-21 21:55:04 +08:00
feat: Modular Avatar Move Independently (#417)
This commit is contained in:
parent
cd6e018d47
commit
f38eb55010
@ -38,8 +38,9 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
if (_window != null) DestroyImmediate(_window);
|
if (_window != null) DestroyImmediate(_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
protected virtual void OnDestroy()
|
||||||
{
|
{
|
||||||
|
base.OnDestroy();
|
||||||
if (_window != null) DestroyImmediate(_window);
|
if (_window != null) DestroyImmediate(_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c4bd1da0ca9146e6b4ae77a50ff220f2
|
||||||
|
timeCreated: 1693723243
|
@ -0,0 +1,22 @@
|
|||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
public class LanguageSwitcherElement : VisualElement
|
||||||
|
{
|
||||||
|
public new class UxmlFactory : UxmlFactory<LanguageSwitcherElement, UxmlTraits>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public new class UxmlTraits : VisualElement.UxmlTraits
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public LanguageSwitcherElement()
|
||||||
|
{
|
||||||
|
// DropdownField is not supported in 2019...
|
||||||
|
var imgui = new IMGUIContainer(Localization.ShowLanguageUI);
|
||||||
|
Add(imgui);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 64e0386c532046ebb565034edca90efd
|
||||||
|
timeCreated: 1693731394
|
@ -0,0 +1,130 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.UIElements;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.TestTools;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
public class LogoElement : VisualElement
|
||||||
|
{
|
||||||
|
private const string LISTENER_REGISTERED = "ma--logo-listener-registered";
|
||||||
|
private static WeakHashSet<LogoElement> _activeLogos = new WeakHashSet<LogoElement>();
|
||||||
|
|
||||||
|
private static Dictionary<VisualElement, LogoElement> _logoDisplayNode
|
||||||
|
= null;
|
||||||
|
|
||||||
|
private VisualElement _inner;
|
||||||
|
|
||||||
|
private static void RegisterNode(LogoElement target)
|
||||||
|
{
|
||||||
|
if (_logoDisplayNode == null)
|
||||||
|
{
|
||||||
|
_logoDisplayNode = new Dictionary<VisualElement, LogoElement>();
|
||||||
|
EditorApplication.delayCall += () => { _logoDisplayNode = null; };
|
||||||
|
}
|
||||||
|
|
||||||
|
// [editor list] -> EditorElement (private) -> InspectorElement -> MAVisualElement -> Logo
|
||||||
|
VisualElement container = target;
|
||||||
|
while (container.parent != null && !(container is InspectorElement))
|
||||||
|
{
|
||||||
|
container = container.parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
container = container.parent ?? container; // EditorElement
|
||||||
|
container = container.parent ?? container; // editor list
|
||||||
|
|
||||||
|
if (container.ClassListContains(LISTENER_REGISTERED)) return;
|
||||||
|
container.RegisterCallback<GeometryChangedEvent>(geom => { UpdateLogoDisplayNode(container); });
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void UpdateLogoDisplayNode(VisualElement root)
|
||||||
|
{
|
||||||
|
// Now walk down to find the LogoElements. We only walk one level past an InspectorElement (and once into
|
||||||
|
// its child MAVisualElement) to avoid descending too deep into madness.
|
||||||
|
List<LogoElement> elements = new List<LogoElement>();
|
||||||
|
|
||||||
|
WalkTree(root);
|
||||||
|
|
||||||
|
var target = elements.FirstOrDefault(e => e.resolvedStyle.visibility == Visibility.Visible);
|
||||||
|
foreach (var elem in elements)
|
||||||
|
{
|
||||||
|
elem.LogoShown = (elem == target);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WalkTree(VisualElement visualElement)
|
||||||
|
{
|
||||||
|
if (visualElement.resolvedStyle.visibility == Visibility.Hidden ||
|
||||||
|
visualElement.resolvedStyle.height < 0.5) return;
|
||||||
|
|
||||||
|
var isInspector = visualElement.GetType() == typeof(InspectorElement);
|
||||||
|
|
||||||
|
foreach (var child in visualElement.Children())
|
||||||
|
{
|
||||||
|
if (child is MAVisualElement maChild)
|
||||||
|
{
|
||||||
|
foreach (var node in child.Children())
|
||||||
|
{
|
||||||
|
if (node is LogoElement logo)
|
||||||
|
{
|
||||||
|
elements.Add(logo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (!isInspector)
|
||||||
|
{
|
||||||
|
WalkTree(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public LogoElement()
|
||||||
|
{
|
||||||
|
_inner = new VisualElement();
|
||||||
|
|
||||||
|
_inner.style.display = DisplayStyle.None;
|
||||||
|
_inner.style.flexDirection = FlexDirection.Row;
|
||||||
|
_inner.style.alignItems = Align.Center;
|
||||||
|
_inner.style.justifyContent = Justify.Center;
|
||||||
|
|
||||||
|
var image = new Image();
|
||||||
|
image.image = LogoDisplay.LOGO_ASSET;
|
||||||
|
image.style.width = new Length(LogoDisplay.ImageWidth(LogoDisplay.TARGET_HEIGHT), LengthUnit.Pixel);
|
||||||
|
image.style.height = new Length(LogoDisplay.TARGET_HEIGHT, LengthUnit.Pixel);
|
||||||
|
|
||||||
|
_inner.Add(image);
|
||||||
|
this.Add(_inner);
|
||||||
|
|
||||||
|
RegisterCallback<GeometryChangedEvent>(OnGeomChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnGeomChanged(GeometryChangedEvent evt)
|
||||||
|
{
|
||||||
|
// We should be in the visual tree now
|
||||||
|
if (parent == null) return;
|
||||||
|
|
||||||
|
RegisterNode(this);
|
||||||
|
|
||||||
|
UnregisterCallback<GeometryChangedEvent>(OnGeomChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool _logoShown;
|
||||||
|
|
||||||
|
private bool LogoShown
|
||||||
|
{
|
||||||
|
get => _logoShown;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (value == _logoShown) return;
|
||||||
|
_logoShown = value;
|
||||||
|
|
||||||
|
_inner.style.display = value ? DisplayStyle.Flex : DisplayStyle.None;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 09c8e1f754e341deb85df120c45109d9
|
||||||
|
timeCreated: 1693723249
|
@ -0,0 +1,78 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Reflection;
|
||||||
|
using nadena.dev.modular_avatar.core.editor;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
internal static class UXMLExtensions
|
||||||
|
{
|
||||||
|
private static Dictionary<Type, Action<VisualElement>> _localizers =
|
||||||
|
new Dictionary<Type, Action<VisualElement>>();
|
||||||
|
|
||||||
|
public static VisualElement Localize(this VisualTreeAsset asset)
|
||||||
|
{
|
||||||
|
var root = asset.CloneTree();
|
||||||
|
|
||||||
|
WalkTree(root);
|
||||||
|
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void WalkTree(VisualElement elem)
|
||||||
|
{
|
||||||
|
var ty = elem.GetType();
|
||||||
|
|
||||||
|
GetLocalizationOperation(ty)(elem);
|
||||||
|
|
||||||
|
foreach (var child in elem.Children())
|
||||||
|
{
|
||||||
|
WalkTree(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Action<VisualElement> GetLocalizationOperation(Type ty)
|
||||||
|
{
|
||||||
|
if (!_localizers.TryGetValue(ty, out var action))
|
||||||
|
{
|
||||||
|
PropertyInfo m_label;
|
||||||
|
if (ty == typeof(Label))
|
||||||
|
{
|
||||||
|
m_label = ty.GetProperty("text");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_label = ty.GetProperty("label");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_label == null)
|
||||||
|
{
|
||||||
|
action = _elem => { };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
action = elem =>
|
||||||
|
{
|
||||||
|
var cur_label = m_label.GetValue(elem) as string;
|
||||||
|
if (cur_label != null && cur_label.StartsWith("##"))
|
||||||
|
{
|
||||||
|
var key = cur_label.Substring(2);
|
||||||
|
|
||||||
|
var new_label = Localization.S(key);
|
||||||
|
var new_tooltip = Localization.S(key + ".tooltip");
|
||||||
|
|
||||||
|
m_label.SetValue(elem, new_label);
|
||||||
|
elem.tooltip = new_tooltip;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
_localizers[ty] = action;
|
||||||
|
}
|
||||||
|
|
||||||
|
return action;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: eaa4c630b2ae442f8456b83ae880ca4b
|
||||||
|
timeCreated: 1693726694
|
@ -0,0 +1,84 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
internal class WeakHashSet<T> : IEnumerable<T> where T : class
|
||||||
|
{
|
||||||
|
private Dictionary<int, List<WeakReference<T>>> _refs = new Dictionary<int, List<WeakReference<T>>>();
|
||||||
|
|
||||||
|
private int _amortCounter = 16;
|
||||||
|
|
||||||
|
public void Add(T t)
|
||||||
|
{
|
||||||
|
WeakReference<T> w = new WeakReference<T>(t);
|
||||||
|
int hash = RuntimeHelpers.GetHashCode(t);
|
||||||
|
|
||||||
|
if (!_refs.TryGetValue(hash, out var list))
|
||||||
|
{
|
||||||
|
list = new List<WeakReference<T>>();
|
||||||
|
_refs[hash] = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!list.Contains(w))
|
||||||
|
{
|
||||||
|
list.Add(w);
|
||||||
|
if (_amortCounter-- <= 0)
|
||||||
|
{
|
||||||
|
ClearDeadReferences();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearDeadReferences()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Remove(T t)
|
||||||
|
{
|
||||||
|
WeakReference<T> w = new WeakReference<T>(t);
|
||||||
|
int hash = RuntimeHelpers.GetHashCode(t);
|
||||||
|
|
||||||
|
if (_refs.TryGetValue(hash, out var list))
|
||||||
|
{
|
||||||
|
list.RemoveAll(elem => elem.TryGetTarget(out var target) && target == t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Contains(T t)
|
||||||
|
{
|
||||||
|
WeakReference<T> w = new WeakReference<T>(t);
|
||||||
|
int hash = RuntimeHelpers.GetHashCode(t);
|
||||||
|
|
||||||
|
if (_refs.TryGetValue(hash, out var list))
|
||||||
|
{
|
||||||
|
return list.Exists(elem => elem.TryGetTarget(out var target) && target == t);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public IEnumerator<T> GetEnumerator()
|
||||||
|
{
|
||||||
|
foreach (var list in _refs.Values)
|
||||||
|
{
|
||||||
|
foreach (var elem in list)
|
||||||
|
{
|
||||||
|
if (elem.TryGetTarget(out var target))
|
||||||
|
{
|
||||||
|
yield return target;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator IEnumerable.GetEnumerator()
|
||||||
|
{
|
||||||
|
return GetEnumerator();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2505c2e488e04a2caf3594fbb2e7bf94
|
||||||
|
timeCreated: 1693724469
|
@ -7,7 +7,7 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
internal static class LogoDisplay
|
internal static class LogoDisplay
|
||||||
{
|
{
|
||||||
internal static readonly Texture2D LOGO_ASSET;
|
internal static readonly Texture2D LOGO_ASSET;
|
||||||
private static float TARGET_HEIGHT => EditorStyles.label.lineHeight * 3;
|
internal static float TARGET_HEIGHT => EditorStyles.label.lineHeight * 3;
|
||||||
|
|
||||||
internal static float ImageWidth(float height)
|
internal static float ImageWidth(float height)
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Reflection;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEditor.UIElements;
|
using UnityEditor.UIElements;
|
||||||
using UnityEngine.UIElements;
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
@ -9,73 +6,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
{
|
{
|
||||||
// This class performs common setup for Modular Avatar editors, including ensuring that only one instance of the\
|
// This class performs common setup for Modular Avatar editors, including ensuring that only one instance of the\
|
||||||
// logo is rendered per container.
|
// logo is rendered per container.
|
||||||
internal abstract class MAEditorBase : Editor
|
public abstract class MAEditorBase : UnityEditor.Editor
|
||||||
{
|
{
|
||||||
private static Dictionary<VisualElement, MAVisualElement>
|
|
||||||
_logoDisplayNode = new Dictionary<VisualElement, MAVisualElement>();
|
|
||||||
|
|
||||||
private static void Cleanup()
|
|
||||||
{
|
|
||||||
_logoDisplayNode.Clear();
|
|
||||||
EditorApplication.update -= Cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static MAVisualElement GetCachedLogoDisplayNode(VisualElement start)
|
|
||||||
{
|
|
||||||
while (start?.parent != null && start.GetType() != typeof(InspectorElement))
|
|
||||||
{
|
|
||||||
start = start.parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Next one up is an EditorElement, followed by the container of all Editors
|
|
||||||
var container = start?.parent?.parent;
|
|
||||||
|
|
||||||
if (container == null) return null;
|
|
||||||
|
|
||||||
if (_logoDisplayNode.TryGetValue(container, out var elem)) return elem;
|
|
||||||
|
|
||||||
var node = FindLogoDisplayNode(container);
|
|
||||||
if (node != null) _logoDisplayNode[container] = node;
|
|
||||||
EditorApplication.update += Cleanup;
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static MAVisualElement FindLogoDisplayNode(VisualElement container)
|
|
||||||
{
|
|
||||||
// Now walk down to find the MAVisualElements. We only walk one level past an InspectorElement to avoid
|
|
||||||
// descending too deep into madness.
|
|
||||||
List<MAVisualElement> elements = new List<MAVisualElement>();
|
|
||||||
|
|
||||||
WalkTree(container);
|
|
||||||
|
|
||||||
return elements.FirstOrDefault(e => e.resolvedStyle.visibility == Visibility.Visible);
|
|
||||||
|
|
||||||
void WalkTree(VisualElement visualElement)
|
|
||||||
{
|
|
||||||
if (visualElement.resolvedStyle.visibility == Visibility.Hidden ||
|
|
||||||
visualElement.resolvedStyle.height < 0.5) return;
|
|
||||||
|
|
||||||
var isInspector = visualElement.GetType() == typeof(InspectorElement);
|
|
||||||
|
|
||||||
foreach (var child in visualElement.Children())
|
|
||||||
{
|
|
||||||
if (child is MAVisualElement maChild)
|
|
||||||
{
|
|
||||||
elements.Add(maChild);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (!isInspector)
|
|
||||||
{
|
|
||||||
WalkTree(child);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private class MAVisualElement : VisualElement
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
private MAVisualElement _visualElement;
|
private MAVisualElement _visualElement;
|
||||||
private bool _suppressOnceDefaultMargins;
|
private bool _suppressOnceDefaultMargins;
|
||||||
|
|
||||||
@ -84,8 +16,25 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RebuildUI()
|
||||||
|
{
|
||||||
|
CreateInspectorGUI();
|
||||||
|
}
|
||||||
|
|
||||||
public sealed override VisualElement CreateInspectorGUI()
|
public sealed override VisualElement CreateInspectorGUI()
|
||||||
{
|
{
|
||||||
|
if (_visualElement == null)
|
||||||
|
{
|
||||||
|
_visualElement = new MAVisualElement();
|
||||||
|
Localization.OnLangChange += RebuildUI;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_visualElement.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
_visualElement.Add(new LogoElement());
|
||||||
|
|
||||||
// CreateInspectorElementFromEditor does a bunch of extra setup that makes our inspector look a little bit
|
// CreateInspectorElementFromEditor does a bunch of extra setup that makes our inspector look a little bit
|
||||||
// nicer. In particular, the label column won't auto-size if we just use IMGUIElement, for some reason
|
// nicer. In particular, the label column won't auto-size if we just use IMGUIElement, for some reason
|
||||||
|
|
||||||
@ -100,7 +49,6 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
inner = m.Invoke(throwaway, new object[] {serializedObject, this, false}) as VisualElement;
|
inner = m.Invoke(throwaway, new object[] {serializedObject, this, false}) as VisualElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
_visualElement = new MAVisualElement();
|
|
||||||
_visualElement.Add(inner);
|
_visualElement.Add(inner);
|
||||||
|
|
||||||
_suppressOnceDefaultMargins = innerIsImgui;
|
_suppressOnceDefaultMargins = innerIsImgui;
|
||||||
@ -116,16 +64,20 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
public sealed override void OnInspectorGUI()
|
public sealed override void OnInspectorGUI()
|
||||||
{
|
{
|
||||||
if (GetCachedLogoDisplayNode(_visualElement) == _visualElement)
|
|
||||||
{
|
|
||||||
LogoDisplay.DisplayLogo();
|
|
||||||
}
|
|
||||||
|
|
||||||
InspectorCommon.DisplayOutOfAvatarWarning(targets);
|
InspectorCommon.DisplayOutOfAvatarWarning(targets);
|
||||||
|
|
||||||
OnInnerInspectorGUI();
|
OnInnerInspectorGUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void OnInnerInspectorGUI();
|
protected abstract void OnInnerInspectorGUI();
|
||||||
|
|
||||||
|
protected virtual void OnDestroy()
|
||||||
|
{
|
||||||
|
Localization.OnLangChange -= RebuildUI;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class MAVisualElement : VisualElement
|
||||||
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b85e8d1dabe3455aa0b7e710f0934a2e
|
||||||
|
timeCreated: 1693722009
|
@ -0,0 +1,9 @@
|
|||||||
|
<UXML xmlns:ui="UnityEngine.UIElements" xmlns:ma="nadena.dev.modular_avatar.core.editor">
|
||||||
|
<ui:VisualElement name="root-box">
|
||||||
|
<ui:VisualElement name="group-box">
|
||||||
|
<ui:Label name="top-label" text="##move_independently.group-header"/>
|
||||||
|
<ui:VisualElement name="group-container"/>
|
||||||
|
</ui:VisualElement>
|
||||||
|
<ma:LanguageSwitcherElement/>
|
||||||
|
</ui:VisualElement>
|
||||||
|
</UXML>
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 445447dbd5f94f9ca0e6a73b4744b412
|
||||||
|
timeCreated: 1693727339
|
@ -0,0 +1,129 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Immutable;
|
||||||
|
using System.Linq;
|
||||||
|
using nadena.dev.modular_avatar.core.ArmatureAwase;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.editor
|
||||||
|
{
|
||||||
|
[CustomEditor(typeof(MAMoveIndependently))]
|
||||||
|
internal class MoveIndependentlyEditor : MAEditorBase
|
||||||
|
{
|
||||||
|
[SerializeField] private StyleSheet uss;
|
||||||
|
[SerializeField] private VisualTreeAsset uxml;
|
||||||
|
|
||||||
|
private TransformChildrenNode _groupedNodesElem;
|
||||||
|
|
||||||
|
protected override void OnInnerInspectorGUI()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override VisualElement CreateInnerInspectorGUI()
|
||||||
|
{
|
||||||
|
var root = uxml.Localize();
|
||||||
|
root.styleSheets.Add(uss);
|
||||||
|
|
||||||
|
var container = root.Q<VisualElement>("group-container");
|
||||||
|
|
||||||
|
MAMoveIndependently target = (MAMoveIndependently) this.target;
|
||||||
|
var grouped = (target.GroupedBones ?? Array.Empty<GameObject>())
|
||||||
|
.Select(obj => obj.transform)
|
||||||
|
.ToImmutableHashSet();
|
||||||
|
|
||||||
|
_groupedNodesElem = new TransformChildrenNode(target.transform, grouped);
|
||||||
|
_groupedNodesElem.AddToClassList("group-root");
|
||||||
|
container.Add(_groupedNodesElem);
|
||||||
|
_groupedNodesElem.OnChanged += () =>
|
||||||
|
{
|
||||||
|
Undo.RecordObject(target, "Toggle grouped nodes");
|
||||||
|
target.GroupedBones = _groupedNodesElem.Active().Select(t => t.gameObject).ToArray();
|
||||||
|
PrefabUtility.RecordPrefabInstancePropertyModifications(target);
|
||||||
|
};
|
||||||
|
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class TransformChildrenNode : VisualElement
|
||||||
|
{
|
||||||
|
private readonly Transform _transform;
|
||||||
|
private HashSet<TransformChildrenNode> _active = new HashSet<TransformChildrenNode>();
|
||||||
|
|
||||||
|
public Transform Transform => _transform;
|
||||||
|
|
||||||
|
public event Action OnChanged;
|
||||||
|
|
||||||
|
public IEnumerable<Transform> Active()
|
||||||
|
{
|
||||||
|
foreach (var child in _active)
|
||||||
|
{
|
||||||
|
yield return child.Transform;
|
||||||
|
foreach (var subChild in child.Active())
|
||||||
|
{
|
||||||
|
yield return subChild;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal TransformChildrenNode(Transform transform, ICollection<Transform> enabled)
|
||||||
|
{
|
||||||
|
_transform = transform;
|
||||||
|
|
||||||
|
foreach (Transform child in transform)
|
||||||
|
{
|
||||||
|
var childRoot = new VisualElement();
|
||||||
|
Add(childRoot);
|
||||||
|
|
||||||
|
var toggleContainer = new VisualElement();
|
||||||
|
childRoot.Add(toggleContainer);
|
||||||
|
toggleContainer.AddToClassList("left-toggle");
|
||||||
|
var toggle = new Toggle();
|
||||||
|
toggleContainer.Add(toggle);
|
||||||
|
toggleContainer.Add(new Label(child.gameObject.name));
|
||||||
|
|
||||||
|
var childGroup = new VisualElement();
|
||||||
|
childRoot.Add(toggleContainer);
|
||||||
|
childRoot.Add(childGroup);
|
||||||
|
|
||||||
|
childGroup.AddToClassList("group-children");
|
||||||
|
|
||||||
|
TransformChildrenNode childNode = null;
|
||||||
|
Action<bool> setNodeState = newValue =>
|
||||||
|
{
|
||||||
|
if (childNode != null == newValue) return;
|
||||||
|
|
||||||
|
if (newValue)
|
||||||
|
{
|
||||||
|
childNode = new TransformChildrenNode(child, enabled);
|
||||||
|
_active.Add(childNode);
|
||||||
|
childNode.OnChanged += FireOnChanged;
|
||||||
|
childGroup.Add(childNode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
childGroup.Clear();
|
||||||
|
_active.Remove(childNode);
|
||||||
|
childNode = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
FireOnChanged();
|
||||||
|
};
|
||||||
|
|
||||||
|
toggle.RegisterValueChangedCallback(ev => setNodeState(ev.newValue));
|
||||||
|
toggle.value = enabled.Contains(child);
|
||||||
|
setNodeState(toggle.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
enabled = ImmutableHashSet<Transform>.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FireOnChanged()
|
||||||
|
{
|
||||||
|
OnChanged?.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1a6b092858f949e8a4540f73244f6d30
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences:
|
||||||
|
- uss: {fileID: 7433441132597879392, guid: f6acca9e5ad360048ae15c13abe12644, type: 3}
|
||||||
|
- uxml: {fileID: 9197481963319205126, guid: 445447dbd5f94f9ca0e6a73b4744b412, type: 3}
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,36 @@
|
|||||||
|
VisualElement {
|
||||||
|
}
|
||||||
|
|
||||||
|
#group-box {
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
padding: 4px;
|
||||||
|
border-width: 3px;
|
||||||
|
border-left-color: rgba(0, 1, 0, 0.2);
|
||||||
|
border-top-color: rgba(0, 1, 0, 0.2);
|
||||||
|
border-right-color: rgba(0, 1, 0, 0.2);
|
||||||
|
border-bottom-color: rgba(0, 1, 0, 0.2);
|
||||||
|
border-radius: 4px;
|
||||||
|
/* background-color: rgba(0, 0, 0, 0.1); */
|
||||||
|
}
|
||||||
|
|
||||||
|
#group-box > Label {
|
||||||
|
-unity-font-style: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-root {
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-root Toggle {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group-children {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-toggle {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f6acca9e5ad360048ae15c13abe12644
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
disableValidation: 0
|
@ -162,5 +162,6 @@
|
|||||||
"setup_outfit.err.no_avatar_descriptor": "No avatar descriptor found in {0} or its parents.",
|
"setup_outfit.err.no_avatar_descriptor": "No avatar descriptor found in {0} or its parents.",
|
||||||
"setup_outfit.err.no_animator": "Your avatar does not have an Animator component.",
|
"setup_outfit.err.no_animator": "Your avatar does not have an Animator component.",
|
||||||
"setup_outfit.err.no_hips": "Your avatar does not have a Hips bone. Setup Outfit only works on humanoid avatars.",
|
"setup_outfit.err.no_hips": "Your avatar does not have a Hips bone. Setup Outfit only works on humanoid avatars.",
|
||||||
"setup_outfit.err.no_outfit_hips": "Unable to identify the Hips object for the outfit. Searched for objects containing the following names:"
|
"setup_outfit.err.no_outfit_hips": "Unable to identify the Hips object for the outfit. Searched for objects containing the following names:",
|
||||||
|
"move_independently.group-header": "Objects to move together"
|
||||||
}
|
}
|
@ -160,5 +160,6 @@
|
|||||||
"setup_outfit.err.no_avatar_descriptor": "「{}」とその親に、avatar descriptorが見つかりませんでした。",
|
"setup_outfit.err.no_avatar_descriptor": "「{}」とその親に、avatar descriptorが見つかりませんでした。",
|
||||||
"setup_outfit.err.no_animator": "アバターにAnimatorコンポーネントがありません。",
|
"setup_outfit.err.no_animator": "アバターにAnimatorコンポーネントがありません。",
|
||||||
"setup_outfit.err.no_hips": "アバターにHipsボーンがありません。なお、Setup Outfitはヒューマノイドアバター以外には対応していません。",
|
"setup_outfit.err.no_hips": "アバターにHipsボーンがありません。なお、Setup Outfitはヒューマノイドアバター以外には対応していません。",
|
||||||
"setup_outfit.err.no_outfit_hips": "衣装のHipsボーンを発見できませんでした。以下の名前を含むボーンを探しました:"
|
"setup_outfit.err.no_outfit_hips": "衣装のHipsボーンを発見できませんでした。以下の名前を含むボーンを探しました:",
|
||||||
|
"move_independently.group-header": "一緒に動かすオブジェクト"
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,166 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
using VRC.SDKBase;
|
||||||
|
|
||||||
|
namespace nadena.dev.modular_avatar.core.ArmatureAwase
|
||||||
|
{
|
||||||
|
[ExecuteInEditMode]
|
||||||
|
//[AddComponentMenu("")]
|
||||||
|
[DisallowMultipleComponent]
|
||||||
|
class MAMoveIndependently : MonoBehaviour, IEditorOnly
|
||||||
|
{
|
||||||
|
private float EPSILON = 0.000001f;
|
||||||
|
|
||||||
|
private GameObject[] m_groupedBones;
|
||||||
|
|
||||||
|
public GameObject[] GroupedBones
|
||||||
|
{
|
||||||
|
get => m_groupedBones.Clone() as GameObject[];
|
||||||
|
set
|
||||||
|
{
|
||||||
|
m_groupedBones = value.Clone() as GameObject[];
|
||||||
|
OnValidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Matrix4x4 _priorFrameState;
|
||||||
|
|
||||||
|
struct ChildState
|
||||||
|
{
|
||||||
|
internal Vector3 childLocalPos;
|
||||||
|
internal Quaternion childLocalRot;
|
||||||
|
internal Vector3 childLocalScale;
|
||||||
|
|
||||||
|
// The child world position, recorded when we first initialized (or after unexpected child movement)
|
||||||
|
internal Matrix4x4 childWorld;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dictionary<Transform, ChildState> _children = new Dictionary<Transform, ChildState>();
|
||||||
|
private HashSet<Transform> _excluded = new HashSet<Transform>();
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
hideFlags = HideFlags.DontSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We need to reparent the TRS values of the children from our prior frame state to the current frame state.
|
||||||
|
// This is done by computing the world affine matrix for the child in the prior frame, then converting to
|
||||||
|
// a local affine matrix in the current frame.
|
||||||
|
|
||||||
|
private void OnValidate()
|
||||||
|
{
|
||||||
|
Debug.Log("=== OnValidate");
|
||||||
|
hideFlags = HideFlags.DontSave;
|
||||||
|
_excluded = new HashSet<Transform>();
|
||||||
|
if (m_groupedBones == null)
|
||||||
|
{
|
||||||
|
m_groupedBones = Array.Empty<GameObject>();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var grouped in m_groupedBones)
|
||||||
|
{
|
||||||
|
if (grouped != null)
|
||||||
|
{
|
||||||
|
_excluded.Add(grouped.transform);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_priorFrameState = transform.localToWorldMatrix;
|
||||||
|
_children.Clear();
|
||||||
|
CheckChildren();
|
||||||
|
}
|
||||||
|
|
||||||
|
HashSet<Transform> _observed = new HashSet<Transform>();
|
||||||
|
|
||||||
|
private void CheckChildren()
|
||||||
|
{
|
||||||
|
_observed.Clear();
|
||||||
|
|
||||||
|
CheckChildren(transform);
|
||||||
|
foreach (var obj in m_groupedBones)
|
||||||
|
{
|
||||||
|
CheckChildren(obj.transform);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove any children that are no longer children
|
||||||
|
var toRemove = new List<Transform>();
|
||||||
|
foreach (var child in _children)
|
||||||
|
{
|
||||||
|
if (child.Key == null || !_observed.Contains(child.Key))
|
||||||
|
{
|
||||||
|
toRemove.Add(child.Key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var child in toRemove)
|
||||||
|
{
|
||||||
|
_children.Remove(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckChildren(Transform parent)
|
||||||
|
{
|
||||||
|
foreach (Transform child in parent)
|
||||||
|
{
|
||||||
|
if (_excluded.Contains(child)) continue;
|
||||||
|
|
||||||
|
_observed.Add(child);
|
||||||
|
|
||||||
|
var localPosition = child.localPosition;
|
||||||
|
var localRotation = child.localRotation;
|
||||||
|
var localScale = child.localScale;
|
||||||
|
|
||||||
|
if (_children.TryGetValue(child, out var state))
|
||||||
|
{
|
||||||
|
var deltaPos = localPosition - state.childLocalPos;
|
||||||
|
var deltaRot = Quaternion.Angle(localRotation, state.childLocalRot);
|
||||||
|
var deltaScale = (localScale - state.childLocalScale).sqrMagnitude;
|
||||||
|
|
||||||
|
if (deltaPos.sqrMagnitude < EPSILON && deltaRot < EPSILON && deltaScale < EPSILON)
|
||||||
|
{
|
||||||
|
Matrix4x4 childNewLocal = parent.worldToLocalMatrix * state.childWorld;
|
||||||
|
|
||||||
|
Undo.RecordObject(child, Undo.GetCurrentGroupName());
|
||||||
|
|
||||||
|
child.localPosition = childNewLocal.MultiplyPoint(Vector3.zero);
|
||||||
|
child.localRotation = childNewLocal.rotation;
|
||||||
|
child.localScale = childNewLocal.lossyScale;
|
||||||
|
|
||||||
|
state.childLocalPos = child.localPosition;
|
||||||
|
state.childLocalRot = child.localRotation;
|
||||||
|
state.childLocalScale = child.localScale;
|
||||||
|
|
||||||
|
_children[child] = state;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Matrix4x4 childTRS = Matrix4x4.TRS(localPosition, localRotation, localScale);
|
||||||
|
|
||||||
|
state = new ChildState()
|
||||||
|
{
|
||||||
|
childLocalPos = localPosition,
|
||||||
|
childLocalRot = localRotation,
|
||||||
|
childLocalScale = localScale,
|
||||||
|
childWorld = parent.localToWorldMatrix * childTRS,
|
||||||
|
};
|
||||||
|
|
||||||
|
_children[child] = state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
var deltaPos = transform.position - _priorFrameState.MultiplyPoint(Vector3.zero);
|
||||||
|
var deltaRot = Quaternion.Angle(_priorFrameState.rotation, transform.rotation);
|
||||||
|
var deltaScale = (transform.lossyScale - _priorFrameState.lossyScale).sqrMagnitude;
|
||||||
|
|
||||||
|
if (deltaPos.sqrMagnitude < EPSILON && deltaRot < EPSILON && deltaScale < EPSILON) return;
|
||||||
|
|
||||||
|
CheckChildren();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8d5b07828ba4eefb9acc305478369d0
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {fileID: 2800000, guid: a8edd5bd1a0a64a40aa99cc09fb5f198, type: 3}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -187,6 +187,12 @@
|
|||||||
"source": "embedded",
|
"source": "embedded",
|
||||||
"dependencies": {}
|
"dependencies": {}
|
||||||
},
|
},
|
||||||
|
"nadena.dev.av3-build-framework": {
|
||||||
|
"version": "file:nadena.dev.av3-build-framework",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "embedded",
|
||||||
|
"dependencies": {}
|
||||||
|
},
|
||||||
"nadena.dev.modular-avatar": {
|
"nadena.dev.modular-avatar": {
|
||||||
"version": "file:nadena.dev.modular-avatar",
|
"version": "file:nadena.dev.modular-avatar",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
|
7
UIElementsSchema/UIElements.xsd
Normal file
7
UIElementsSchema/UIElements.xsd
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:editor="UnityEditor.UIElements" xmlns:engine="UnityEngine.UIElements" xmlns="UnityEditor.UIElements.Debugger" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import schemaLocation="UnityEngine.UIElements.xsd" namespace="UnityEngine.UIElements" />
|
||||||
|
<xs:import schemaLocation="UnityEditor.PackageManager.UI.xsd" namespace="UnityEditor.PackageManager.UI" />
|
||||||
|
<xs:import schemaLocation="UnityEditor.UIElements.xsd" namespace="UnityEditor.UIElements" />
|
||||||
|
<xs:import schemaLocation="UnityEditor.UIElements.Debugger.xsd" namespace="UnityEditor.UIElements.Debugger" />
|
||||||
|
</xs:schema>
|
294
UIElementsSchema/UnityEditor.PackageManager.UI.xsd
Normal file
294
UIElementsSchema/UnityEditor.PackageManager.UI.xsd
Normal file
@ -0,0 +1,294 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:editor="UnityEditor.UIElements" xmlns:engine="UnityEngine.UIElements" xmlns="UnityEditor.UIElements.Debugger" elementFormDefault="qualified" targetNamespace="UnityEditor.PackageManager.UI" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import schemaLocation="UnityEngine.UIElements.xsd" namespace="UnityEngine.UIElements" />
|
||||||
|
<xs:complexType name="AlertType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Alert" substitutionGroup="engine:VisualElement" xmlns:q1="UnityEditor.PackageManager.UI" type="q1:AlertType" />
|
||||||
|
<xs:complexType name="ArrowToggleType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ArrowToggle" substitutionGroup="engine:VisualElement" xmlns:q2="UnityEditor.PackageManager.UI" type="q2:ArrowToggleType" />
|
||||||
|
<xs:complexType name="DropdownButtonType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="DropdownButton" substitutionGroup="engine:VisualElement" xmlns:q3="UnityEditor.PackageManager.UI" type="q3:DropdownButtonType" />
|
||||||
|
<xs:complexType name="LoadingSpinnerType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="LoadingSpinner" substitutionGroup="engine:VisualElement" xmlns:q4="UnityEditor.PackageManager.UI" type="q4:LoadingSpinnerType" />
|
||||||
|
<xs:complexType name="PackageDependenciesType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageDependencies" substitutionGroup="engine:VisualElement" xmlns:q5="UnityEditor.PackageManager.UI" type="q5:PackageDependenciesType" />
|
||||||
|
<xs:complexType name="PackageDetailsType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageDetails" substitutionGroup="engine:VisualElement" xmlns:q6="UnityEditor.PackageManager.UI" type="q6:PackageDetailsType" />
|
||||||
|
<xs:complexType name="PackageListType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageList" substitutionGroup="engine:VisualElement" xmlns:q7="UnityEditor.PackageManager.UI" type="q7:PackageListType" />
|
||||||
|
<xs:complexType name="PackageManagerToolbarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageManagerToolbar" substitutionGroup="engine:VisualElement" xmlns:q8="UnityEditor.PackageManager.UI" type="q8:PackageManagerToolbarType" />
|
||||||
|
<xs:complexType name="PackageSampleListType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageSampleList" substitutionGroup="engine:VisualElement" xmlns:q9="UnityEditor.PackageManager.UI" type="q9:PackageSampleListType" />
|
||||||
|
<xs:complexType name="PackageStatusBarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageStatusBar" substitutionGroup="engine:VisualElement" xmlns:q10="UnityEditor.PackageManager.UI" type="q10:PackageStatusBarType" />
|
||||||
|
<xs:complexType name="PackageToolbarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PackageToolbar" substitutionGroup="engine:VisualElement" xmlns:q11="UnityEditor.PackageManager.UI" type="q11:PackageToolbarType" />
|
||||||
|
<xs:complexType name="ProgressBarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ProgressBar" substitutionGroup="engine:VisualElement" xmlns:q12="UnityEditor.PackageManager.UI" type="q12:ProgressBarType" />
|
||||||
|
<xs:complexType name="SplitViewType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="100" name="fixed-pane-initial-size" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="SplitView" substitutionGroup="engine:VisualElement" xmlns:q13="UnityEditor.PackageManager.UI" type="q13:SplitViewType" />
|
||||||
|
<xs:complexType name="ScopedRegistriesSettingsType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ScopedRegistriesSettings" substitutionGroup="engine:VisualElement" xmlns:q14="UnityEditor.PackageManager.UI" type="q14:ScopedRegistriesSettingsType" />
|
||||||
|
</xs:schema>
|
27
UIElementsSchema/UnityEditor.UIElements.Debugger.xsd
Normal file
27
UIElementsSchema/UnityEditor.UIElements.Debugger.xsd
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:editor="UnityEditor.UIElements" xmlns:engine="UnityEngine.UIElements" xmlns="UnityEditor.UIElements.Debugger" elementFormDefault="qualified" targetNamespace="UnityEditor.UIElements.Debugger" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import schemaLocation="UnityEngine.UIElements.xsd" namespace="UnityEngine.UIElements" />
|
||||||
|
<xs:complexType name="EventTypeSelectFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="EventTypeSelectField" substitutionGroup="engine:VisualElement" type="EventTypeSelectFieldType" />
|
||||||
|
</xs:schema>
|
887
UIElementsSchema/UnityEditor.UIElements.xsd
Normal file
887
UIElementsSchema/UnityEditor.UIElements.xsd
Normal file
@ -0,0 +1,887 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:editor="UnityEditor.UIElements" xmlns:engine="UnityEngine.UIElements" xmlns="UnityEditor.UIElements.Debugger" elementFormDefault="qualified" targetNamespace="UnityEditor.UIElements" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:import schemaLocation="UnityEngine.UIElements.xsd" namespace="UnityEngine.UIElements" />
|
||||||
|
<xs:simpleType name="PropertyControl_value-type_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Long" />
|
||||||
|
<xs:enumeration value="Double" />
|
||||||
|
<xs:enumeration value="Int" />
|
||||||
|
<xs:enumeration value="Float" />
|
||||||
|
<xs:enumeration value="String" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="PropertyControlType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute name="value-type" type="editor:PropertyControl_value-type_Type" use="required" />
|
||||||
|
<xs:attribute default="" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PropertyControl" substitutionGroup="engine:VisualElement" type="editor:PropertyControlType" />
|
||||||
|
<xs:complexType name="VisualSplitterType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="VisualSplitter" substitutionGroup="engine:VisualElement" type="editor:VisualSplitterType" />
|
||||||
|
<xs:complexType name="ToolbarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Toolbar" substitutionGroup="engine:VisualElement" type="editor:ToolbarType" />
|
||||||
|
<xs:complexType name="ToolbarButtonType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarButton" substitutionGroup="engine:VisualElement" type="editor:ToolbarButtonType" />
|
||||||
|
<xs:complexType name="ToolbarToggleType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="false" name="value" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarToggle" substitutionGroup="engine:VisualElement" type="editor:ToolbarToggleType" />
|
||||||
|
<xs:complexType name="ToolbarSpacerType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarSpacer" substitutionGroup="engine:VisualElement" type="editor:ToolbarSpacerType" />
|
||||||
|
<xs:complexType name="ToolbarMenuType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarMenu" substitutionGroup="engine:VisualElement" type="editor:ToolbarMenuType" />
|
||||||
|
<xs:complexType name="ToolbarSearchFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarSearchField" substitutionGroup="engine:VisualElement" type="editor:ToolbarSearchFieldType" />
|
||||||
|
<xs:complexType name="ToolbarPopupSearchFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarPopupSearchField" substitutionGroup="engine:VisualElement" type="editor:ToolbarPopupSearchFieldType" />
|
||||||
|
<xs:complexType name="ToolbarBreadcrumbsType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ToolbarBreadcrumbs" substitutionGroup="engine:VisualElement" type="editor:ToolbarBreadcrumbsType" />
|
||||||
|
<xs:complexType name="PropertyFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PropertyField" substitutionGroup="engine:VisualElement" type="editor:PropertyFieldType" />
|
||||||
|
<xs:complexType name="InspectorElementType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Ignore" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="InspectorElement" substitutionGroup="engine:VisualElement" type="editor:InspectorElementType" />
|
||||||
|
<xs:complexType name="FloatFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="false" name="readonly" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="FloatField" substitutionGroup="engine:VisualElement" type="editor:FloatFieldType" />
|
||||||
|
<xs:complexType name="DoubleFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:double" use="optional" />
|
||||||
|
<xs:attribute default="false" name="readonly" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="DoubleField" substitutionGroup="engine:VisualElement" type="editor:DoubleFieldType" />
|
||||||
|
<xs:complexType name="IntegerFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="readonly" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="IntegerField" substitutionGroup="engine:VisualElement" type="editor:IntegerFieldType" />
|
||||||
|
<xs:complexType name="LongFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:long" use="optional" />
|
||||||
|
<xs:attribute default="false" name="readonly" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="LongField" substitutionGroup="engine:VisualElement" type="editor:LongFieldType" />
|
||||||
|
<xs:complexType name="CurveFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="CurveField" substitutionGroup="engine:VisualElement" type="editor:CurveFieldType" />
|
||||||
|
<xs:complexType name="ObjectFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="true" name="allow-scene-objects" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ObjectField" substitutionGroup="engine:VisualElement" type="editor:ObjectFieldType" />
|
||||||
|
<xs:complexType name="ColorFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="RGBA(0.000, 0.000, 0.000, 1.000)" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="true" name="show-eye-dropper" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="true" name="show-alpha" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="false" name="hdr" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ColorField" substitutionGroup="engine:VisualElement" type="editor:ColorFieldType" />
|
||||||
|
<xs:complexType name="EnumFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="type" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="false" name="include-obsolete-values" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="EnumField" substitutionGroup="engine:VisualElement" type="editor:EnumFieldType" />
|
||||||
|
<xs:complexType name="MaskFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="choices" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="MaskField" substitutionGroup="engine:VisualElement" type="editor:MaskFieldType" />
|
||||||
|
<xs:complexType name="LayerMaskFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="choices" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="LayerMaskField" substitutionGroup="engine:VisualElement" type="editor:LayerMaskFieldType" />
|
||||||
|
<xs:complexType name="LayerFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="LayerField" substitutionGroup="engine:VisualElement" type="editor:LayerFieldType" />
|
||||||
|
<xs:complexType name="TagFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="TagField" substitutionGroup="engine:VisualElement" type="editor:TagFieldType" />
|
||||||
|
<xs:complexType name="GradientFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="GradientField" substitutionGroup="engine:VisualElement" type="editor:GradientFieldType" />
|
||||||
|
<xs:complexType name="EnumFlagsFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="type" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="false" name="include-obsolete-values" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="EnumFlagsField" substitutionGroup="engine:VisualElement" type="editor:EnumFlagsFieldType" />
|
||||||
|
<xs:complexType name="RectFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="w" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="h" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="RectField" substitutionGroup="engine:VisualElement" type="editor:RectFieldType" />
|
||||||
|
<xs:complexType name="Vector2FieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Vector2Field" substitutionGroup="engine:VisualElement" type="editor:Vector2FieldType" />
|
||||||
|
<xs:complexType name="Vector3FieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="z" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Vector3Field" substitutionGroup="engine:VisualElement" type="editor:Vector3FieldType" />
|
||||||
|
<xs:complexType name="Vector4FieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="z" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="w" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Vector4Field" substitutionGroup="engine:VisualElement" type="editor:Vector4FieldType" />
|
||||||
|
<xs:complexType name="BoundsFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="cx" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="cy" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="cz" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="ex" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="ey" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="ez" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="BoundsField" substitutionGroup="engine:VisualElement" type="editor:BoundsFieldType" />
|
||||||
|
<xs:complexType name="RectIntFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="w" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="h" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="RectIntField" substitutionGroup="engine:VisualElement" type="editor:RectIntFieldType" />
|
||||||
|
<xs:complexType name="Vector2IntFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Vector2IntField" substitutionGroup="engine:VisualElement" type="editor:Vector2IntFieldType" />
|
||||||
|
<xs:complexType name="Vector3IntFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="x" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="y" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="z" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Vector3IntField" substitutionGroup="engine:VisualElement" type="editor:Vector3IntFieldType" />
|
||||||
|
<xs:complexType name="BoundsIntFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="px" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="py" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="pz" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="sx" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="sy" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="sz" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="BoundsIntField" substitutionGroup="engine:VisualElement" type="editor:BoundsIntFieldType" />
|
||||||
|
<xs:complexType name="ProgressBarType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="low-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="100" name="high-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="" name="title" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ProgressBar" substitutionGroup="engine:VisualElement" type="editor:ProgressBarType" />
|
||||||
|
</xs:schema>
|
525
UIElementsSchema/UnityEngine.UIElements.xsd
Normal file
525
UIElementsSchema/UnityEngine.UIElements.xsd
Normal file
@ -0,0 +1,525 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema xmlns:editor="UnityEditor.UIElements" xmlns:engine="UnityEngine.UIElements" xmlns="UnityEditor.UIElements.Debugger" elementFormDefault="qualified" targetNamespace="UnityEngine.UIElements" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:complexType name="UXMLType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="xs:anyType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="UXML" type="engine:UXMLType" />
|
||||||
|
<xs:simpleType name="VisualElement_picking-mode_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Position" />
|
||||||
|
<xs:enumeration value="Ignore" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="VisualElement_usage-hints_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="None" />
|
||||||
|
<xs:enumeration value="DynamicTransform" />
|
||||||
|
<xs:enumeration value="GroupTransform" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="VisualElementType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="xs:anyType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="VisualElement" type="engine:VisualElementType" />
|
||||||
|
<xs:complexType name="IMGUIContainerType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="IMGUIContainer" substitutionGroup="engine:VisualElement" type="engine:IMGUIContainerType" />
|
||||||
|
<xs:complexType name="ImageType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Image" substitutionGroup="engine:VisualElement" type="engine:ImageType" />
|
||||||
|
<xs:complexType name="LabelType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Label" substitutionGroup="engine:VisualElement" type="engine:LabelType" />
|
||||||
|
<xs:complexType name="RepeatButtonType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="delay" type="xs:long" use="optional" />
|
||||||
|
<xs:attribute default="0" name="interval" type="xs:long" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="RepeatButton" substitutionGroup="engine:VisualElement" type="engine:RepeatButtonType" />
|
||||||
|
<xs:simpleType name="ScrollView_mode_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Vertical" />
|
||||||
|
<xs:enumeration value="Horizontal" />
|
||||||
|
<xs:enumeration value="VerticalAndHorizontal" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="ScrollViewType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Vertical" name="mode" type="engine:ScrollView_mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="false" name="show-horizontal-scroller" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="false" name="show-vertical-scroller" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="20" name="horizontal-page-size" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="20" name="vertical-page-size" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ScrollView" substitutionGroup="engine:VisualElement" type="engine:ScrollViewType" />
|
||||||
|
<xs:simpleType name="Scroller_direction_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Horizontal" />
|
||||||
|
<xs:enumeration value="Vertical" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="ScrollerType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="low-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="high-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="Vertical" name="direction" type="engine:Scroller_direction_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Scroller" substitutionGroup="engine:VisualElement" type="engine:ScrollerType" />
|
||||||
|
<xs:simpleType name="Slider_direction_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Horizontal" />
|
||||||
|
<xs:enumeration value="Vertical" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="SliderType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="low-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="10" name="high-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="0" name="page-size" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="Horizontal" name="direction" type="engine:Slider_direction_Type" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Slider" substitutionGroup="engine:VisualElement" type="engine:SliderType" />
|
||||||
|
<xs:simpleType name="SliderInt_direction_Type">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="Horizontal" />
|
||||||
|
<xs:enumeration value="Vertical" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="SliderIntType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="value" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="low-value" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="10" name="high-value" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="0" name="page-size" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="Horizontal" name="direction" type="engine:SliderInt_direction_Type" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="SliderInt" substitutionGroup="engine:VisualElement" type="engine:SliderIntType" />
|
||||||
|
<xs:complexType name="MinMaxSliderType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="0" name="min-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="10" name="max-value" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="-3.402823E+38" name="low-limit" type="xs:float" use="optional" />
|
||||||
|
<xs:attribute default="3.402823E+38" name="high-limit" type="xs:float" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="MinMaxSlider" substitutionGroup="engine:VisualElement" type="engine:MinMaxSliderType" />
|
||||||
|
<xs:complexType name="ToggleType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="false" name="value" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Toggle" substitutionGroup="engine:VisualElement" type="engine:ToggleType" />
|
||||||
|
<xs:complexType name="TextFieldType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="true" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="label" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="value" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="-1" name="max-length" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="password" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="*" name="mask-character" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="false" name="readonly" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="false" name="multiline" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="TextField" substitutionGroup="engine:VisualElement" type="engine:TextFieldType" />
|
||||||
|
<xs:complexType name="TemplateContainerType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute name="template" type="xs:string" use="required" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="TemplateContainer" substitutionGroup="engine:VisualElement" type="engine:TemplateContainerType" />
|
||||||
|
<xs:complexType name="BoxType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Box" substitutionGroup="engine:VisualElement" type="engine:BoxType" />
|
||||||
|
<xs:complexType name="PopupWindowType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="PopupWindow" substitutionGroup="engine:VisualElement" type="engine:PopupWindowType" />
|
||||||
|
<xs:complexType name="ListViewType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="30" name="item-height" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="ListView" substitutionGroup="engine:VisualElement" type="engine:ListViewType" />
|
||||||
|
<xs:complexType name="TreeViewType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="30" name="item-height" type="xs:int" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="TreeView" substitutionGroup="engine:VisualElement" type="engine:TreeViewType" />
|
||||||
|
<xs:complexType name="FoldoutType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="true" name="value" type="xs:boolean" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Foldout" substitutionGroup="engine:VisualElement" type="engine:FoldoutType" />
|
||||||
|
<xs:complexType name="BindableElementType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:element ref="engine:VisualElement" />
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="BindableElement" substitutionGroup="engine:VisualElement" type="engine:BindableElementType" />
|
||||||
|
<xs:complexType name="TextElementType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="TextElement" substitutionGroup="engine:VisualElement" type="engine:TextElementType" />
|
||||||
|
<xs:complexType name="ButtonType">
|
||||||
|
<xs:complexContent mixed="false">
|
||||||
|
<xs:restriction base="engine:VisualElementType">
|
||||||
|
<xs:attribute default="" name="name" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="view-data-key" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="Position" name="picking-mode" type="engine:VisualElement_picking-mode_Type" use="optional" />
|
||||||
|
<xs:attribute default="" name="tooltip" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="None" name="usage-hints" type="engine:VisualElement_usage-hints_Type" use="optional" />
|
||||||
|
<xs:attribute default="0" name="tabindex" type="xs:int" use="optional" />
|
||||||
|
<xs:attribute default="false" name="focusable" type="xs:boolean" use="optional" />
|
||||||
|
<xs:attribute default="" name="class" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="content-container" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="style" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="binding-path" type="xs:string" use="optional" />
|
||||||
|
<xs:attribute default="" name="text" type="xs:string" use="optional" />
|
||||||
|
<xs:anyAttribute processContents="lax" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:complexContent>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:element name="Button" substitutionGroup="engine:VisualElement" type="engine:ButtonType" />
|
||||||
|
</xs:schema>
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xs:schema elementFormDefault="qualified" xmlns:engine="UnityEngine.UIElements" targetNamespace="nadena.dev.modular_avatar.core.editor" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:element name="LanguageSwitcherElement" type="engine:VisualElementType" />
|
||||||
|
</xs:schema>
|
23
docs/docs/reference/move-independently.md
Normal file
23
docs/docs/reference/move-independently.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import ReactPlayer from 'react-player'
|
||||||
|
|
||||||
|
# Move Independently
|
||||||
|
|
||||||
|
<ReactPlayer controls muted loop playsinline url='/img/move-independently.mp4' />
|
||||||
|
|
||||||
|
The Move Independently component allows you to move an object without affecting its children.
|
||||||
|
This component has no effect at runtime; it is purely for use in the editor.
|
||||||
|
|
||||||
|
## When should I use it?
|
||||||
|
|
||||||
|
This component is intended to be used when adjusting the fit of outfits on your avatar. You can, for example,
|
||||||
|
adjust the position of the hips object of the outfit without impacting the position of other objects.
|
||||||
|
|
||||||
|
## Grouping objects
|
||||||
|
|
||||||
|
By checking boxes under the "Objects to move together" field, you can create a group of objects that move together.
|
||||||
|
For example, you might move the hips and upper leg objects together, but leave the lower leg objects behind.
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
While this component supports scaling an object independently of its children, non-uniform scales (where the X, Y, and Z
|
||||||
|
scales are not all the same) are not fully supported, and may result in unexpected behavior.
|
@ -0,0 +1,23 @@
|
|||||||
|
import ReactPlayer from 'react-player'
|
||||||
|
|
||||||
|
# Move Independently
|
||||||
|
|
||||||
|
<ReactPlayer controls muted loop playsinline url='/img/move-independently.mp4' />
|
||||||
|
|
||||||
|
MA Move Independentlyというコンポーネントを使うと、子オブジェクトに影響を与えずにオブジェクトを移動させることができます。
|
||||||
|
このコンポーネントはランタイムでは何の効果もありません。エディターでのみ使用できます。
|
||||||
|
|
||||||
|
## いつ使うべきか
|
||||||
|
|
||||||
|
このコンポーネントは、アバターに衣装のフィットを調整する際に使用することを想定しています。例えば、
|
||||||
|
衣装のヒップオブジェクトの位置を調整しつつ、他のオブジェクトの位置に影響しないようにできます。
|
||||||
|
|
||||||
|
## オブジェクトをグループ化する
|
||||||
|
|
||||||
|
「一緒に動かすオブジェクト」欄のチェックボックスをオンにすることで、一緒に移動するオブジェクトのグループを作成できます。
|
||||||
|
例えば、HipsとUpper Legのオブジェクトを一緒に移動させ、Lower Legのオブジェクトをそのままにすることができます。
|
||||||
|
|
||||||
|
## 制限事項
|
||||||
|
|
||||||
|
子に影響を与えずにオブジェクトの大きさを調整することは対応していますが、XYZそれぞれのスケールが同じ出ない場合は
|
||||||
|
対応されず、変な挙動になることがあります。ご注意ください。
|
BIN
docs/static/img/move-independently.mp4
vendored
Normal file
BIN
docs/static/img/move-independently.mp4
vendored
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user