Upload project files
This commit is contained in:
56
Editor/Cloner/View/Field/LinearField.uxml
Normal file
56
Editor/Cloner/View/Field/LinearField.uxml
Normal file
@@ -0,0 +1,56 @@
|
||||
<engine:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:engine="UnityEngine.UIElements" xmlns:editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="True">
|
||||
<Style src="project://database/Packages/com.misaki.art-tools/Editor/Cloner/View/ClonerEditorStyle.uss?fileID=7433441132597879392&guid=216b892cd94cc624da01dc4947facdcb&type=3#ClonerEditorStyle" />
|
||||
<engine:VisualElement data-source-type="Misaki.ArtTool.LinearField, Misaki.ArtTool" style="flex-grow: 1;">
|
||||
<engine:Label text="Remapping" class="SubHeader" />
|
||||
<engine:VisualElement class="PropertyContainer">
|
||||
<engine:DropdownField label="State" choices="Disable,Enable" index="0" class="SmallHeader">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="index" data-source-path="remappingSetting.enable" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:DropdownField>
|
||||
<engine:VisualElement>
|
||||
<Misaki.ArtToolEditor.RemappingGraph style="flex-grow: 1;">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting" binding-mode="ToTarget" />
|
||||
</Bindings>
|
||||
</Misaki.ArtToolEditor.RemappingGraph>
|
||||
<engine:Slider label="Strength" value="42" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.strength" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:DropdownField label="Invert" choices="Disable,Enable" index="0">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="index" data-source-path="remappingSetting.invert" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:DropdownField>
|
||||
<engine:Slider label="Inner Offset" value="0" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.innerOffset" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:Slider label="Min" value="0" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.min" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:Slider label="Max" value="1" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.max" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<Bindings>
|
||||
<engine:DataBinding property="style.display" data-source-path="remappingSetting.enable" binding-mode="ToTarget" source-to-ui-converters="BoolToDisplayConvertor" />
|
||||
</Bindings>
|
||||
</engine:VisualElement>
|
||||
</engine:VisualElement>
|
||||
<engine:Label text="Parameter" class="SubHeader" />
|
||||
<engine:VisualElement class="PropertyContainer">
|
||||
<engine:FloatField label="Length" value="10">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="length" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:FloatField>
|
||||
</engine:VisualElement>
|
||||
</engine:VisualElement>
|
||||
</engine:UXML>
|
||||
10
Editor/Cloner/View/Field/LinearField.uxml.meta
Normal file
10
Editor/Cloner/View/Field/LinearField.uxml.meta
Normal file
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50fa3a5370c15ec4abe4b7225a42c090
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
||||
41
Editor/Cloner/View/Field/LinearFieldEditor.cs
Normal file
41
Editor/Cloner/View/Field/LinearFieldEditor.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using Misaki.ArtTool;
|
||||
using UnityEditor;
|
||||
using UnityEditor.UIElements;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace Misaki.ArtToolEditor
|
||||
{
|
||||
[CustomEditor(typeof(LinearField))]
|
||||
public class LinearFieldEditor : Editor
|
||||
{
|
||||
[SerializeField]
|
||||
private VisualTreeAsset visualTreeAsset = default;
|
||||
|
||||
private LinearField dataSource;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
dataSource = target as LinearField;
|
||||
}
|
||||
|
||||
public override VisualElement CreateInspectorGUI()
|
||||
{
|
||||
var root = new VisualElement();
|
||||
|
||||
var visualAsset = visualTreeAsset.Instantiate();
|
||||
visualAsset.dataSource = serializedObject.targetObject;
|
||||
|
||||
root.Add(visualAsset);
|
||||
root.TrackSerializedObjectValue(serializedObject, OnValueChanged);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private void OnValueChanged(SerializedObject serializedObject)
|
||||
{
|
||||
var linearField = serializedObject.targetObject as LinearField;
|
||||
linearField.propertyChanged.Invoke(linearField, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
13
Editor/Cloner/View/Field/LinearFieldEditor.cs.meta
Normal file
13
Editor/Cloner/View/Field/LinearFieldEditor.cs.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1f02bdd18275b44c9f98fdf199ddf54
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- visualTreeAsset: {fileID: 9197481963319205126, guid: 50fa3a5370c15ec4abe4b7225a42c090,
|
||||
type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
56
Editor/Cloner/View/Field/SphereField.uxml
Normal file
56
Editor/Cloner/View/Field/SphereField.uxml
Normal file
@@ -0,0 +1,56 @@
|
||||
<engine:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:engine="UnityEngine.UIElements" xmlns:editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="True">
|
||||
<Style src="project://database/Packages/com.misaki.art-tools/Editor/Cloner/View/ClonerEditorStyle.uss?fileID=7433441132597879392&guid=216b892cd94cc624da01dc4947facdcb&type=3#ClonerEditorStyle" />
|
||||
<engine:VisualElement data-source-type="Misaki.ArtTool.SphereField, Misaki.ArtTool" style="flex-grow: 1;">
|
||||
<engine:Label text="Remapping" class="SubHeader" />
|
||||
<engine:VisualElement class="PropertyContainer">
|
||||
<engine:DropdownField label="State" choices="Disable,Enable" index="0" class="SmallHeader">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="index" data-source-path="remappingSetting.enable" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:DropdownField>
|
||||
<engine:VisualElement>
|
||||
<Misaki.ArtToolEditor.RemappingGraph style="flex-grow: 1;">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting" binding-mode="ToTarget" />
|
||||
</Bindings>
|
||||
</Misaki.ArtToolEditor.RemappingGraph>
|
||||
<engine:Slider label="Strength" value="42" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.strength" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:DropdownField label="Invert" choices="Disable,Enable" index="0">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="index" data-source-path="remappingSetting.invert" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:DropdownField>
|
||||
<engine:Slider label="Inner Offset" value="0" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.innerOffset" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:Slider label="Min" value="0" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.min" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<engine:Slider label="Max" value="1" high-value="1" show-input-field="true">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="remappingSetting.max" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:Slider>
|
||||
<Bindings>
|
||||
<engine:DataBinding property="style.display" data-source-path="remappingSetting.enable" binding-mode="ToTarget" source-to-ui-converters="BoolToDisplayConvertor" />
|
||||
</Bindings>
|
||||
</engine:VisualElement>
|
||||
</engine:VisualElement>
|
||||
<engine:Label text="Parameter" class="SubHeader" />
|
||||
<engine:VisualElement class="PropertyContainer">
|
||||
<engine:FloatField label="Radius" value="10">
|
||||
<Bindings>
|
||||
<engine:DataBinding property="value" data-source-path="radius" binding-mode="TwoWay" />
|
||||
</Bindings>
|
||||
</engine:FloatField>
|
||||
</engine:VisualElement>
|
||||
</engine:VisualElement>
|
||||
</engine:UXML>
|
||||
10
Editor/Cloner/View/Field/SphereField.uxml.meta
Normal file
10
Editor/Cloner/View/Field/SphereField.uxml.meta
Normal file
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bcdf9a803fec6734d9d74dfaefdb7cf8
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
||||
49
Editor/Cloner/View/Field/SphereFieldEditor.cs
Normal file
49
Editor/Cloner/View/Field/SphereFieldEditor.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using Misaki.ArtTool;
|
||||
using UnityEditor;
|
||||
using UnityEditor.UIElements;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
namespace Misaki.ArtToolEditor
|
||||
{
|
||||
[CustomEditor(typeof(SphereField))]
|
||||
public class SphereFieldEditor : Editor
|
||||
{
|
||||
[SerializeField]
|
||||
private VisualTreeAsset visualTreeAsset = default;
|
||||
|
||||
private SphereField dataSource;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
dataSource = target as SphereField;
|
||||
}
|
||||
|
||||
public override VisualElement CreateInspectorGUI()
|
||||
{
|
||||
var root = new VisualElement();
|
||||
|
||||
var visualAsset = visualTreeAsset.Instantiate();
|
||||
visualAsset.dataSource = serializedObject.targetObject;
|
||||
|
||||
root.Add(visualAsset);
|
||||
root.TrackSerializedObjectValue(serializedObject, OnValueChanged);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
private void OnValueChanged(SerializedObject serializedObject)
|
||||
{
|
||||
var linearField = serializedObject.targetObject as SphereField;
|
||||
linearField.propertyChanged.Invoke(linearField, null);
|
||||
}
|
||||
|
||||
private void OnSceneGUI()
|
||||
{
|
||||
Handles.matrix = dataSource.transform.localToWorldMatrix;
|
||||
Handles.color = Color.cyan;
|
||||
|
||||
dataSource.radius = Handles.RadiusHandle(Quaternion.identity, Vector3.zero, dataSource.radius, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
13
Editor/Cloner/View/Field/SphereFieldEditor.cs.meta
Normal file
13
Editor/Cloner/View/Field/SphereFieldEditor.cs.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35154d63b3f536f408b6185949d9812a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- visualTreeAsset: {fileID: 9197481963319205126, guid: bcdf9a803fec6734d9d74dfaefdb7cf8,
|
||||
type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user