mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-04-12 15:38:59 +08:00
fix: allow adding known objects to MaterialSetter and ShapeChanger
This commit is contained in:
parent
7ca79ee0b7
commit
4e0845dcb3
@ -12,6 +12,8 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
public T TargetComponent { get; set; }
|
public T TargetComponent { get; set; }
|
||||||
|
|
||||||
|
protected virtual bool AllowKnownObjects => true;
|
||||||
|
|
||||||
private Transform _avatarRoot;
|
private Transform _avatarRoot;
|
||||||
private GameObject[] _draggingObjects = Array.Empty<GameObject>();
|
private GameObject[] _draggingObjects = Array.Empty<GameObject>();
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
|
|
||||||
var knownObjects = TargetComponent.GetObjectReferences().Select(x => x.Get(TargetComponent)).ToHashSet();
|
var knownObjects = TargetComponent.GetObjectReferences().Select(x => x.Get(TargetComponent)).ToHashSet();
|
||||||
_draggingObjects = DragAndDrop.objectReferences.OfType<GameObject>()
|
_draggingObjects = DragAndDrop.objectReferences.OfType<GameObject>()
|
||||||
.Where(x => !knownObjects.Contains(x))
|
.Where(x => AllowKnownObjects || !knownObjects.Contains(x))
|
||||||
.Where(x => RuntimeUtil.FindAvatarTransformInParents(x.transform) == _avatarRoot)
|
.Where(x => RuntimeUtil.FindAvatarTransformInParents(x.transform) == _avatarRoot)
|
||||||
.Where(FilterGameObject)
|
.Where(FilterGameObject)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
@ -94,7 +96,10 @@ namespace nadena.dev.modular_avatar.core.editor
|
|||||||
.ToArray());
|
.ToArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract bool FilterGameObject(GameObject obj);
|
protected virtual bool FilterGameObject(GameObject obj)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
protected abstract void AddObjectReferences(AvatarObjectReference[] references);
|
protected abstract void AddObjectReferences(AvatarObjectReference[] references);
|
||||||
}
|
}
|
||||||
|
@ -55,10 +55,7 @@ namespace nadena.dev.modular_avatar.core.editor.ShapeChanger
|
|||||||
public DragAndDropManipulator(VisualElement targetElement, ModularAvatarObjectToggle targetComponent)
|
public DragAndDropManipulator(VisualElement targetElement, ModularAvatarObjectToggle targetComponent)
|
||||||
: base(targetElement, targetComponent) { }
|
: base(targetElement, targetComponent) { }
|
||||||
|
|
||||||
protected override bool FilterGameObject(GameObject obj)
|
protected override bool AllowKnownObjects => false;
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void AddObjectReferences(AvatarObjectReference[] references)
|
protected override void AddObjectReferences(AvatarObjectReference[] references)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user