Inspector Secondary Window & QuickCopy
inspector的二级界面,主要用于工具制作。 重新制作了Track的QuickCopy功能
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -48,9 +48,13 @@ MonoBehaviour:
|
|||||||
flickNoteSound: {fileID: 0}
|
flickNoteSound: {fileID: 0}
|
||||||
bloomShake: {fileID: 845605030242152257, guid: 1ea739ef6f1bf4e87835b0f554587451,
|
bloomShake: {fileID: 845605030242152257, guid: 1ea739ef6f1bf4e87835b0f554587451,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
inspectorSecondaryWindow: {fileID: 6108546402767822149, guid: 936c6eaae41114513a3b35c89084692f,
|
||||||
|
type: 3}
|
||||||
dynamicUIContainer: {fileID: 641240999616330488, guid: 6868f1f1eb20a43eea8d90883b83de2c,
|
dynamicUIContainer: {fileID: 641240999616330488, guid: 6868f1f1eb20a43eea8d90883b83de2c,
|
||||||
type: 3}
|
type: 3}
|
||||||
inputField: {fileID: 2642348292953561022, guid: 94ed5dfb5df8c408faa267d2915aaeeb,
|
parameterInputField: {fileID: 2642348292953561022, guid: 94ed5dfb5df8c408faa267d2915aaeeb,
|
||||||
|
type: 3}
|
||||||
|
getterInputField: {fileID: 2642348292953561022, guid: 1378583c80d38488194d2a1a65b89f12,
|
||||||
type: 3}
|
type: 3}
|
||||||
vector3InputField: {fileID: 8936320662031972394, guid: 9e72408c17dfe4740b0e9060d6b3fafa,
|
vector3InputField: {fileID: 8936320662031972394, guid: 9e72408c17dfe4740b0e9060d6b3fafa,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|||||||
706
Assets/Prefabs/DynamicUI/Elements/GetterInputField.prefab
Normal file
706
Assets/Prefabs/DynamicUI/Elements/GetterInputField.prefab
Normal file
@@ -0,0 +1,706 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1212126413356896021
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1070278988301002068}
|
||||||
|
- component: {fileID: 4529119705401455497}
|
||||||
|
- component: {fileID: 7783322142285543121}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1070278988301002068
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1212126413356896021}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 3490717224210563453}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4529119705401455497
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1212126413356896021}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &7783322142285543121
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1212126413356896021}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: "\u200B"
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4281479730
|
||||||
|
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 72
|
||||||
|
m_fontSizeBase: 22
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 0
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 1
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &2522200636602697985
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4815310443098260762}
|
||||||
|
- component: {fileID: 8863047526699937627}
|
||||||
|
- component: {fileID: 4146383444293307128}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Title
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4815310443098260762
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2522200636602697985}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 2546924885880613247}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 32.5}
|
||||||
|
m_SizeDelta: {x: 200, y: 35}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &8863047526699937627
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2522200636602697985}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4146383444293307128
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2522200636602697985}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: Title
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 18
|
||||||
|
m_fontSizeBase: 18
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 512
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &2642348292953561022
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2546924885880613247}
|
||||||
|
- component: {fileID: 3664140762483240874}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: GetterInputField
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &2546924885880613247
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2642348292953561022}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 948417242699321966}
|
||||||
|
- {fileID: 4815310443098260762}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 240, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &3664140762483240874
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2642348292953561022}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 230247eae56474f058bf4a2184cadd9a, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
title: {fileID: 4146383444293307128}
|
||||||
|
parameterName:
|
||||||
|
isAlwaysUpdated: 0
|
||||||
|
inputField: {fileID: 8133616667585172139}
|
||||||
|
--- !u!1 &6054617597329561493
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3490717224210563453}
|
||||||
|
- component: {fileID: 5052269685455238955}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text Area
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3490717224210563453
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6054617597329561493}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 3742921537381130228}
|
||||||
|
- {fileID: 1070278988301002068}
|
||||||
|
m_Father: {fileID: 948417242699321966}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||||
|
m_SizeDelta: {x: -20, y: -13}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &5052269685455238955
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6054617597329561493}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Padding: {x: -8, y: -5, z: -8, w: -5}
|
||||||
|
m_Softness: {x: 0, y: 0}
|
||||||
|
--- !u!1 &8112439553232957819
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 948417242699321966}
|
||||||
|
- component: {fileID: 5213022013272568639}
|
||||||
|
- component: {fileID: 9019429101014728339}
|
||||||
|
- component: {fileID: 8133616667585172139}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: InputField (TMP)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &948417242699321966
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8112439553232957819}
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 3490717224210563453}
|
||||||
|
m_Father: {fileID: 2546924885880613247}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: -10}
|
||||||
|
m_SizeDelta: {x: 200, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5213022013272568639
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8112439553232957819}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &9019429101014728339
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8112439553232957819}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &8133616667585172139
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8112439553232957819}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 9019429101014728339}
|
||||||
|
m_TextViewport: {fileID: 3490717224210563453}
|
||||||
|
m_TextComponent: {fileID: 7783322142285543121}
|
||||||
|
m_Placeholder: {fileID: 5964625502745187225}
|
||||||
|
m_VerticalScrollbar: {fileID: 0}
|
||||||
|
m_VerticalScrollbarEventHandler: {fileID: 0}
|
||||||
|
m_LayoutGroup: {fileID: 0}
|
||||||
|
m_ScrollSensitivity: 1
|
||||||
|
m_ContentType: 0
|
||||||
|
m_InputType: 0
|
||||||
|
m_AsteriskChar: 42
|
||||||
|
m_KeyboardType: 0
|
||||||
|
m_LineType: 0
|
||||||
|
m_HideMobileInput: 0
|
||||||
|
m_HideSoftKeyboard: 0
|
||||||
|
m_CharacterValidation: 0
|
||||||
|
m_RegexValue:
|
||||||
|
m_GlobalPointSize: 14
|
||||||
|
m_CharacterLimit: 0
|
||||||
|
m_OnEndEdit:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnSubmit:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnSelect:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnDeselect:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnTextSelection:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnEndTextSelection:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnValueChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_OnTouchScreenKeyboardStatusChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||||
|
m_CustomCaretColor: 0
|
||||||
|
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
|
||||||
|
m_Text:
|
||||||
|
m_CaretBlinkRate: 0.85
|
||||||
|
m_CaretWidth: 1
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_RichText: 1
|
||||||
|
m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_OnFocusSelectAll: 1
|
||||||
|
m_ResetOnDeActivation: 1
|
||||||
|
m_RestoreOriginalTextOnEscape: 1
|
||||||
|
m_isRichTextEditingAllowed: 0
|
||||||
|
m_LineLimit: 0
|
||||||
|
m_InputValidator: {fileID: 0}
|
||||||
|
--- !u!1 &8927238423197313380
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3742921537381130228}
|
||||||
|
- component: {fileID: 6135528101069896261}
|
||||||
|
- component: {fileID: 5964625502745187225}
|
||||||
|
- component: {fileID: 1058483181577605081}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Placeholder
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3742921537381130228
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8927238423197313380}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 3490717224210563453}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &6135528101069896261
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8927238423197313380}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5964625502745187225
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8927238423197313380}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: Enter text...
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 2150773298
|
||||||
|
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 33.1
|
||||||
|
m_fontSizeBase: 22
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_enableWordWrapping: 0
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 1
|
||||||
|
m_enableExtraPadding: 1
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!114 &1058483181577605081
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8927238423197313380}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_IgnoreLayout: 1
|
||||||
|
m_MinWidth: -1
|
||||||
|
m_MinHeight: -1
|
||||||
|
m_PreferredWidth: -1
|
||||||
|
m_PreferredHeight: -1
|
||||||
|
m_FlexibleWidth: -1
|
||||||
|
m_FlexibleHeight: -1
|
||||||
|
m_LayoutPriority: 1
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1378583c80d38488194d2a1a65b89f12
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -279,7 +279,7 @@ GameObject:
|
|||||||
- component: {fileID: 2546924885880613247}
|
- component: {fileID: 2546924885880613247}
|
||||||
- component: {fileID: 5066465832321381678}
|
- component: {fileID: 5066465832321381678}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: InputField
|
m_Name: ParameterInputField
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
8
Assets/Prefabs/DynamicUI/Inspector.meta
Normal file
8
Assets/Prefabs/DynamicUI/Inspector.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d2c57d4df0ddc4836a2adc8a91cc932d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
1018
Assets/Prefabs/DynamicUI/Inspector/InspectorSecondaryWindow.prefab
Normal file
1018
Assets/Prefabs/DynamicUI/Inspector/InspectorSecondaryWindow.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 936c6eaae41114513a3b35c89084692f
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because one or more lines are too long
@@ -26,7 +26,6 @@ namespace Ichni.Editor
|
|||||||
|
|
||||||
public virtual void Initialize(IBaseElement baseElement, string title, string parameterName)
|
public virtual void Initialize(IBaseElement baseElement, string title, string parameterName)
|
||||||
{
|
{
|
||||||
|
|
||||||
this.connectedBaseElement = baseElement;
|
this.connectedBaseElement = baseElement;
|
||||||
this.parameterName = parameterName;
|
this.parameterName = parameterName;
|
||||||
if (title != string.Empty)
|
if (title != string.Empty)
|
||||||
@@ -37,7 +36,6 @@ namespace Ichni.Editor
|
|||||||
{
|
{
|
||||||
this.title.gameObject.SetActive(false);
|
this.title.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void DeviverSet(int DeviveNum){
|
public virtual void DeviverSet(int DeviveNum){
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Ichni.RhythmGame;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Ichni.Editor
|
||||||
|
{
|
||||||
|
public class DynamicUIGetterInputField : DynamicUIElement
|
||||||
|
{
|
||||||
|
public TMP_InputField inputField;
|
||||||
|
|
||||||
|
public void SetDefaultText(string text)
|
||||||
|
{
|
||||||
|
inputField.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T GetResult<T>()
|
||||||
|
{
|
||||||
|
return (T)System.Convert.ChangeType(inputField.text, typeof(T));
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetResult()
|
||||||
|
{
|
||||||
|
return inputField.text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 230247eae56474f058bf4a2184cadd9a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -8,7 +8,7 @@ using UnityEngine.Events;
|
|||||||
|
|
||||||
namespace Ichni.Editor
|
namespace Ichni.Editor
|
||||||
{
|
{
|
||||||
public class DynamicUIInputField : DynamicUIElement
|
public class DynamicUIParameterInputField : DynamicUIElement
|
||||||
{
|
{
|
||||||
public TMP_InputField inputField;
|
public TMP_InputField inputField;
|
||||||
|
|
||||||
189
Assets/Scripts/DynamicUI/Inspector/IHaveInspection.cs
Normal file
189
Assets/Scripts/DynamicUI/Inspector/IHaveInspection.cs
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Ichni;
|
||||||
|
using Ichni.Editor;
|
||||||
|
using Ichni.RhythmGame;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
|
||||||
|
namespace Ichni.Editor
|
||||||
|
{
|
||||||
|
public interface IHaveInspection
|
||||||
|
{
|
||||||
|
public RectTransform WindowRect { get; set; }
|
||||||
|
public List<DynamicUIContainer> Containers { get; set; }
|
||||||
|
|
||||||
|
public CompositeParameterWindow GenerateCompositeParameterWindow(IBaseElement baseElement, string title,
|
||||||
|
string parameterName)
|
||||||
|
{
|
||||||
|
CompositeParameterWindow compositeParameterWindow =
|
||||||
|
Object.Instantiate(EditorManager.instance.basePrefabs.compositeParameterWindow,
|
||||||
|
EditorManager.instance.uiManager.inspector.inspectorCanvas.GetComponent<RectTransform>())
|
||||||
|
.GetComponent<CompositeParameterWindow>();
|
||||||
|
compositeParameterWindow.Initialize(baseElement, title, parameterName);
|
||||||
|
return compositeParameterWindow;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIContainer GenerateContainer(string title)
|
||||||
|
{
|
||||||
|
DynamicUIContainer container =
|
||||||
|
Object.Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect)
|
||||||
|
.GetComponent<DynamicUIContainer>();
|
||||||
|
container.title.text = title;
|
||||||
|
Containers.Add(container);
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIContainer GenerateContainer()
|
||||||
|
{
|
||||||
|
DynamicUIContainer container =
|
||||||
|
Object.Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, WindowRect)
|
||||||
|
.GetComponent<DynamicUIContainer>();
|
||||||
|
Object.Destroy(container.title.gameObject);
|
||||||
|
Containers.Add(container);
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIButton GenerateButton(IBaseElement baseElement, DynamicUIContainer container, string buttonText,
|
||||||
|
UnityAction function, string title = "null")
|
||||||
|
{
|
||||||
|
DynamicUIButton button = Object.Instantiate(EditorManager.instance.basePrefabs.button, container.rect)
|
||||||
|
.GetComponent<DynamicUIButton>();
|
||||||
|
button.SetText(buttonText, title != "null");
|
||||||
|
button.Initialize(baseElement, title, "null");
|
||||||
|
button.ApplyFunction(function);
|
||||||
|
container.dynamicUIElements.Add(button);
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIToggle GenerateToggle(IBaseElement baseElement, DynamicUIContainer container, string title,
|
||||||
|
string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIToggle toggle = Object.Instantiate(EditorManager.instance.basePrefabs.toggle, container.rect)
|
||||||
|
.GetComponent<DynamicUIToggle>();
|
||||||
|
toggle.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(toggle);
|
||||||
|
return toggle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIGetterInputField GenerateGetterInputField(DynamicUIContainer container,
|
||||||
|
string title, string defaultText)
|
||||||
|
{
|
||||||
|
DynamicUIGetterInputField getterInputField = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.getterInputField, container.rect)
|
||||||
|
.GetComponent<DynamicUIGetterInputField>();
|
||||||
|
getterInputField.Initialize(null, title, string.Empty);
|
||||||
|
getterInputField.SetDefaultText(defaultText);
|
||||||
|
container.dynamicUIElements.Add(getterInputField);
|
||||||
|
return getterInputField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIParameterInputField GenerateParameterInputField(IBaseElement baseElement,
|
||||||
|
DynamicUIContainer container,
|
||||||
|
string title, string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIParameterInputField parameterInputField = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.parameterInputField, container.rect)
|
||||||
|
.GetComponent<DynamicUIParameterInputField>();
|
||||||
|
parameterInputField.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(parameterInputField);
|
||||||
|
return parameterInputField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIVector3InputField GenerateVector3InputField(IBaseElement baseElement,
|
||||||
|
DynamicUIContainer container,
|
||||||
|
string title, string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIVector3InputField vector3InputField =
|
||||||
|
Object.Instantiate(EditorManager.instance.basePrefabs.vector3InputField, container.rect)
|
||||||
|
.GetComponent<DynamicUIVector3InputField>();
|
||||||
|
vector3InputField.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(vector3InputField);
|
||||||
|
return vector3InputField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIBaseColorPicker GenerateBaseColorPicker(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
string title, string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIBaseColorPicker colorPicker = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.baseColorPicker, container.rect)
|
||||||
|
.GetComponent<DynamicUIBaseColorPicker>();
|
||||||
|
colorPicker.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(colorPicker);
|
||||||
|
return colorPicker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIEmissionColorPicker GenerateEmissionColorPicker(IBaseElement baseElement,
|
||||||
|
DynamicUIContainer container,
|
||||||
|
string title, string emissionEnabledName, string emissionColorName, string emissionIntensityName)
|
||||||
|
{
|
||||||
|
DynamicUIEmissionColorPicker colorPicker = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.emissionColorPicker, container.rect)
|
||||||
|
.GetComponent<DynamicUIEmissionColorPicker>();
|
||||||
|
colorPicker.Initialize(baseElement, title, emissionEnabledName, emissionColorName, emissionIntensityName);
|
||||||
|
container.dynamicUIElements.Add(colorPicker);
|
||||||
|
return colorPicker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIHintText GenerateHintText(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
string content)
|
||||||
|
{
|
||||||
|
DynamicUIHintText hintText = Object.Instantiate(EditorManager.instance.basePrefabs.hintText, container.rect)
|
||||||
|
.GetComponent<DynamicUIHintText>();
|
||||||
|
hintText.Initialize(baseElement, string.Empty, string.Empty);
|
||||||
|
hintText.SetContent(content);
|
||||||
|
container.dynamicUIElements.Add(hintText);
|
||||||
|
return hintText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIHintText GenerateHintText(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
System.Func<string> action)
|
||||||
|
{
|
||||||
|
DynamicUIHintText hintText = Object.Instantiate(EditorManager.instance.basePrefabs.hintText, container.rect)
|
||||||
|
.GetComponent<DynamicUIHintText>();
|
||||||
|
hintText.Initialize(baseElement, string.Empty, string.Empty);
|
||||||
|
hintText.SetUpdatingContent(action);
|
||||||
|
container.dynamicUIElements.Add(hintText);
|
||||||
|
return hintText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIParameterText GenerateParameterText(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
string title,
|
||||||
|
string parameterName, bool isAlwaysUpdate = false)
|
||||||
|
{
|
||||||
|
DynamicUIParameterText parameterText = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.parameterText, container.rect)
|
||||||
|
.GetComponent<DynamicUIParameterText>();
|
||||||
|
parameterText.Initialize(baseElement, title, parameterName);
|
||||||
|
parameterText.isAlwaysUpdated = isAlwaysUpdate;
|
||||||
|
container.dynamicUIElements.Add(parameterText);
|
||||||
|
return parameterText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIEnumDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
string title,
|
||||||
|
System.Type enumType, string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIEnumDropdown enumDropdown = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.enumDropdown, container.rect)
|
||||||
|
.GetComponent<DynamicUIEnumDropdown>();
|
||||||
|
enumDropdown.SetUpEnum(enumType);
|
||||||
|
enumDropdown.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(enumDropdown);
|
||||||
|
return enumDropdown;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DynamicUIStringListDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container,
|
||||||
|
string title,
|
||||||
|
List<string> stringList, string parameterName)
|
||||||
|
{
|
||||||
|
DynamicUIStringListDropdown stringListDropdown = Object
|
||||||
|
.Instantiate(EditorManager.instance.basePrefabs.stringListDropdown, container.rect)
|
||||||
|
.GetComponent<DynamicUIStringListDropdown>();
|
||||||
|
stringListDropdown.SetUpStringList(stringList);
|
||||||
|
stringListDropdown.Initialize(baseElement, title, parameterName);
|
||||||
|
container.dynamicUIElements.Add(stringListDropdown);
|
||||||
|
return stringListDropdown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/DynamicUI/Inspector/IHaveInspection.cs.meta
Normal file
11
Assets/Scripts/DynamicUI/Inspector/IHaveInspection.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1f09909b044c24c8cbd5c5375403bce9
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -9,12 +9,20 @@ using UnityEngine.Events;
|
|||||||
|
|
||||||
namespace Ichni.Editor
|
namespace Ichni.Editor
|
||||||
{
|
{
|
||||||
public partial class Inspector : StaticWindow
|
public partial class Inspector : StaticWindow, IHaveInspection
|
||||||
{
|
{
|
||||||
public GameElement connectedGameElement;
|
public GameElement connectedGameElement;
|
||||||
public Canvas inspectorCanvas;
|
public Canvas inspectorCanvas;
|
||||||
public RectTransform inspectorRect;
|
public RectTransform inspectorRect;
|
||||||
public List<DynamicUIContainer> containers;
|
|
||||||
|
public RectTransform WindowRect { get; set; }
|
||||||
|
public List<DynamicUIContainer> Containers { get; set; }
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
WindowRect = inspectorRect;
|
||||||
|
Containers = new List<DynamicUIContainer>();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 先清空所有的容器,然后为当前的GameElement设置Inspector
|
/// 先清空所有的容器,然后为当前的GameElement设置Inspector
|
||||||
@@ -26,159 +34,19 @@ namespace Ichni.Editor
|
|||||||
connectedGameElement = gameElement;
|
connectedGameElement = gameElement;
|
||||||
connectedGameElement.SetUpInspector();
|
connectedGameElement.SetUpInspector();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearInspector()
|
public void ClearInspector()
|
||||||
{
|
{
|
||||||
containers.ForEach(container => Destroy(container.gameObject));
|
Containers.ForEach(container => Destroy(container.gameObject));
|
||||||
containers.Clear();
|
Containers.Clear();
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public partial class Inspector
|
|
||||||
{
|
|
||||||
public CompositeParameterWindow GenerateCompositeParameterWindow(IBaseElement baseElement, string title, string parameterName)
|
|
||||||
{
|
|
||||||
CompositeParameterWindow compositeParameterWindow =
|
|
||||||
Instantiate(EditorManager.instance.basePrefabs.compositeParameterWindow,
|
|
||||||
EditorManager.instance.uiManager.inspector.inspectorCanvas.GetComponent<RectTransform>())
|
|
||||||
.GetComponent<CompositeParameterWindow>();
|
|
||||||
compositeParameterWindow.Initialize(baseElement, title, parameterName);
|
|
||||||
return compositeParameterWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIContainer GenerateContainer(string title)
|
|
||||||
{
|
|
||||||
DynamicUIContainer container =
|
|
||||||
Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, inspectorRect)
|
|
||||||
.GetComponent<DynamicUIContainer>();
|
|
||||||
container.title.text = title;
|
|
||||||
containers.Add(container);
|
|
||||||
return container;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DynamicUIContainer GenerateContainer()
|
public InspectorSecondaryWindow GenerateSecondaryWindow(GameElement gameElement, string title)
|
||||||
{
|
{
|
||||||
DynamicUIContainer container =
|
InspectorSecondaryWindow secondaryWindow = Instantiate(EditorManager.instance.basePrefabs.inspectorSecondaryWindow,
|
||||||
Instantiate(EditorManager.instance.basePrefabs.dynamicUIContainer, inspectorRect)
|
inspectorCanvas.transform).GetComponent<InspectorSecondaryWindow>();
|
||||||
.GetComponent<DynamicUIContainer>();
|
secondaryWindow.Initialize(gameElement, title);
|
||||||
Destroy(container.title.gameObject);
|
return secondaryWindow;
|
||||||
containers.Add(container);
|
|
||||||
return container;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIButton GenerateButton(IBaseElement baseElement, DynamicUIContainer container, string buttonText,
|
|
||||||
UnityAction function, string title = "null")
|
|
||||||
{
|
|
||||||
DynamicUIButton button = Instantiate(EditorManager.instance.basePrefabs.button, container.rect)
|
|
||||||
.GetComponent<DynamicUIButton>();
|
|
||||||
button.SetText(buttonText, title != "null");
|
|
||||||
button.Initialize(baseElement, title, "null");
|
|
||||||
button.ApplyFunction(function);
|
|
||||||
container.dynamicUIElements.Add(button);
|
|
||||||
return button;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIToggle GenerateToggle(IBaseElement baseElement, DynamicUIContainer container, string title,
|
|
||||||
string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIToggle toggle = Instantiate(EditorManager.instance.basePrefabs.toggle, container.rect)
|
|
||||||
.GetComponent<DynamicUIToggle>();
|
|
||||||
toggle.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(toggle);
|
|
||||||
return toggle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIInputField GenerateInputField(IBaseElement baseElement, DynamicUIContainer container,
|
|
||||||
string title, string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIInputField inputField = Instantiate(EditorManager.instance.basePrefabs.inputField, container.rect)
|
|
||||||
.GetComponent<DynamicUIInputField>();
|
|
||||||
inputField.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(inputField);
|
|
||||||
return inputField;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIVector3InputField GenerateVec3InputField(IBaseElement baseElement, DynamicUIContainer container,
|
|
||||||
string title, string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIVector3InputField vector3InputField =
|
|
||||||
Instantiate(EditorManager.instance.basePrefabs.vector3InputField, container.rect)
|
|
||||||
.GetComponent<DynamicUIVector3InputField>();
|
|
||||||
vector3InputField.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(vector3InputField);
|
|
||||||
return vector3InputField;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIBaseColorPicker GenerateBaseColorPicker(IBaseElement baseElement, DynamicUIContainer container,
|
|
||||||
string title, string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIBaseColorPicker colorPicker = Instantiate(EditorManager.instance.basePrefabs.baseColorPicker, container.rect)
|
|
||||||
.GetComponent<DynamicUIBaseColorPicker>();
|
|
||||||
colorPicker.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(colorPicker);
|
|
||||||
return colorPicker;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIEmissionColorPicker GenerateEmissionColorPicker(IBaseElement baseElement, DynamicUIContainer container,
|
|
||||||
string title, string emissionEnabledName, string emissionColorName, string emissionIntensityName)
|
|
||||||
{
|
|
||||||
DynamicUIEmissionColorPicker colorPicker = Instantiate(EditorManager.instance.basePrefabs.emissionColorPicker, container.rect)
|
|
||||||
.GetComponent<DynamicUIEmissionColorPicker>();
|
|
||||||
colorPicker.Initialize(baseElement, title, emissionEnabledName, emissionColorName, emissionIntensityName);
|
|
||||||
container.dynamicUIElements.Add(colorPicker);
|
|
||||||
return colorPicker;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIHintText GenerateHintText(IBaseElement baseElement, DynamicUIContainer container, string content)
|
|
||||||
{
|
|
||||||
DynamicUIHintText hintText = Instantiate(EditorManager.instance.basePrefabs.hintText, container.rect)
|
|
||||||
.GetComponent<DynamicUIHintText>();
|
|
||||||
hintText.Initialize(baseElement, string.Empty, string.Empty);
|
|
||||||
hintText.SetContent(content);
|
|
||||||
container.dynamicUIElements.Add(hintText);
|
|
||||||
return hintText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIHintText GenerateHintText(IBaseElement baseElement, DynamicUIContainer container, Func<string> action)
|
|
||||||
{
|
|
||||||
DynamicUIHintText hintText = Instantiate(EditorManager.instance.basePrefabs.hintText, container.rect)
|
|
||||||
.GetComponent<DynamicUIHintText>();
|
|
||||||
hintText.Initialize(baseElement, string.Empty, string.Empty);
|
|
||||||
hintText.SetUpdatingContent(action);
|
|
||||||
container.dynamicUIElements.Add(hintText);
|
|
||||||
return hintText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIParameterText GenerateParameterText(IBaseElement baseElement, DynamicUIContainer container, string title,
|
|
||||||
string parameterName, bool isAlwaysUpdate = false)
|
|
||||||
{
|
|
||||||
DynamicUIParameterText parameterText = Instantiate(EditorManager.instance.basePrefabs.parameterText, container.rect)
|
|
||||||
.GetComponent<DynamicUIParameterText>();
|
|
||||||
parameterText.Initialize(baseElement, title, parameterName);
|
|
||||||
parameterText.isAlwaysUpdated = isAlwaysUpdate;
|
|
||||||
container.dynamicUIElements.Add(parameterText);
|
|
||||||
return parameterText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIEnumDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container, string title,
|
|
||||||
Type enumType, string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIEnumDropdown enumDropdown = Instantiate(EditorManager.instance.basePrefabs.enumDropdown, container.rect)
|
|
||||||
.GetComponent<DynamicUIEnumDropdown>();
|
|
||||||
enumDropdown.SetUpEnum(enumType);
|
|
||||||
enumDropdown.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(enumDropdown);
|
|
||||||
return enumDropdown;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DynamicUIStringListDropdown GenerateDropdown(IBaseElement baseElement, DynamicUIContainer container, string title,
|
|
||||||
List<string> stringList, string parameterName)
|
|
||||||
{
|
|
||||||
DynamicUIStringListDropdown stringListDropdown = Instantiate(EditorManager.instance.basePrefabs.stringListDropdown, container.rect)
|
|
||||||
.GetComponent<DynamicUIStringListDropdown>();
|
|
||||||
stringListDropdown.SetUpStringList(stringList);
|
|
||||||
stringListDropdown.Initialize(baseElement, title, parameterName);
|
|
||||||
container.dynamicUIElements.Add(stringListDropdown);
|
|
||||||
return stringListDropdown;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Ichni.RhythmGame;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Ichni.Editor
|
||||||
|
{
|
||||||
|
public class InspectorSecondaryWindow : MovableWindow, IHaveInspection
|
||||||
|
{
|
||||||
|
public GameElement connectedGameElement;
|
||||||
|
public RectTransform WindowRect { get; set; }
|
||||||
|
public List<DynamicUIContainer> Containers { get; set; }
|
||||||
|
|
||||||
|
public void Initialize(GameElement gameElement, string title)
|
||||||
|
{
|
||||||
|
WindowRect = windowRect;
|
||||||
|
Containers = new List<DynamicUIContainer>();
|
||||||
|
|
||||||
|
connectedGameElement = gameElement;
|
||||||
|
this.title.text = title;
|
||||||
|
closeButton.onClick.AddListener(() =>
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a2f377bdefd245dea2e040dba8bb02c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -12,6 +12,5 @@ namespace Ichni.Editor
|
|||||||
public RectTransform windowRect;
|
public RectTransform windowRect;
|
||||||
public Button closeButton;
|
public Button closeButton;
|
||||||
public TMP_Text title;
|
public TMP_Text title;
|
||||||
public DynamicUIContainer container;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Dreamteck.Splines;
|
using Dreamteck.Splines;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Lean.Pool;
|
using Lean.Pool;
|
||||||
using Unity.Mathematics;
|
using Unity.Mathematics;
|
||||||
@@ -70,6 +71,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
base.SetUpInspector();
|
base.SetUpInspector();
|
||||||
var container = inspector.GenerateContainer("Displacement");
|
var container = inspector.GenerateContainer("Displacement");
|
||||||
var positionXButton = inspector.GenerateButton(this, container, "Position X",
|
var positionXButton = inspector.GenerateButton(this, container, "Position X",
|
||||||
|
|||||||
@@ -46,8 +46,6 @@ namespace Ichni.RhythmGame
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Inspector inspector => EditorManager.instance.uiManager.inspector;
|
|
||||||
|
|
||||||
public void SetUpInspector()
|
public void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@@ -79,6 +80,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Color");
|
var container = inspector.GenerateContainer("Color");
|
||||||
var baseColor = inspector.GenerateBaseColorPicker(this, container, "Base Color", nameof(originalBaseColor));
|
var baseColor = inspector.GenerateBaseColorPicker(this, container, "Base Color", nameof(originalBaseColor));
|
||||||
if ((attachedGameElement as IHaveColorSubmodule).haveEmission)
|
if ((attachedGameElement as IHaveColorSubmodule).haveEmission)
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
foreach (var effect in effectCollection)
|
foreach (var effect in effectCollection)
|
||||||
{
|
{
|
||||||
var container = inspector.GenerateContainer(effect.Key);
|
var container = inspector.GenerateContainer(effect.Key);
|
||||||
@@ -145,8 +147,7 @@ namespace Ichni.RhythmGame
|
|||||||
}
|
}
|
||||||
|
|
||||||
public BaseElement_BM matchedBM { get; set; }
|
public BaseElement_BM matchedBM { get; set; }
|
||||||
public Inspector inspector => EditorManager.instance.uiManager.inspector;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 效果的持续时间,如果为0则表示瞬间效果
|
/// 效果的持续时间,如果为0则表示瞬间效果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public BaseElement_BM matchedBM { get; set; }
|
public BaseElement_BM matchedBM { get; set; }
|
||||||
|
|
||||||
public Inspector inspector => EditorManager.instance.uiManager.inspector;
|
|
||||||
|
|
||||||
public SubmoduleBase(GameElement attachedGameElement)
|
public SubmoduleBase(GameElement attachedGameElement)
|
||||||
{
|
{
|
||||||
this.attachedGameElement = attachedGameElement;
|
this.attachedGameElement = attachedGameElement;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Unity.Mathematics;
|
using Unity.Mathematics;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -87,10 +88,11 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Time Duration");
|
var container = inspector.GenerateContainer("Time Duration");
|
||||||
var overrideToggle = inspector.GenerateToggle(this, container, "Override Duration", nameof(isOverridingDuration));
|
var overrideToggle = inspector.GenerateToggle(this, container, "Override Duration", nameof(isOverridingDuration));
|
||||||
var startTimeInputField = inspector.GenerateInputField(this, container, "Start Time", nameof(startTime));
|
var startTimeInputField = inspector.GenerateParameterInputField(this, container, "Start Time", nameof(startTime));
|
||||||
var endTimeInputField = inspector.GenerateInputField(this, container, "End Time", nameof(endTime));
|
var endTimeInputField = inspector.GenerateParameterInputField(this, container, "End Time", nameof(endTime));
|
||||||
|
|
||||||
void SetInputFieldInteractable(bool interactable)
|
void SetInputFieldInteractable(bool interactable)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using UniRx;
|
using UniRx;
|
||||||
using Unity.Mathematics;
|
using Unity.Mathematics;
|
||||||
@@ -86,14 +87,16 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Transform");
|
var container = inspector.GenerateContainer("Transform");
|
||||||
|
|
||||||
var originalPosInputField =
|
var originalPosInputField =
|
||||||
inspector.GenerateVec3InputField(this, container, "Start Position", nameof(originalPosition));
|
inspector.GenerateVector3InputField(this, container, "Start Position", nameof(originalPosition));
|
||||||
var originalRotInputField =
|
var originalRotInputField =
|
||||||
inspector.GenerateVec3InputField(this, container, "Start Rotation", nameof(originalEulerAngles));
|
inspector.GenerateVector3InputField(this, container, "Start Rotation", nameof(originalEulerAngles));
|
||||||
var originalScaleInputField =
|
var originalScaleInputField =
|
||||||
inspector.GenerateVec3InputField(this, container, "Start Scale", nameof(originalScale));
|
inspector.GenerateVector3InputField(this, container, "Start Scale", nameof(originalScale));
|
||||||
var currentPosText =
|
var currentPosText =
|
||||||
inspector.GenerateParameterText(this, container, "Current Position", nameof(currentPosition), true);
|
inspector.GenerateParameterText(this, container, "Current Position", nameof(currentPosition), true);
|
||||||
var currentRotText =
|
var currentRotText =
|
||||||
@@ -135,6 +138,8 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool willRefresh = false;
|
||||||
|
|
||||||
if (transformSubmodule.scaleDirtyMark)
|
if (transformSubmodule.scaleDirtyMark)
|
||||||
{
|
{
|
||||||
@@ -147,6 +152,7 @@ namespace Ichni.RhythmGame
|
|||||||
transformSubmodule.currentScale = transformSubmodule.originalScale + offset;
|
transformSubmodule.currentScale = transformSubmodule.originalScale + offset;
|
||||||
attachedGameElement.transform.localScale = transformSubmodule.currentScale;
|
attachedGameElement.transform.localScale = transformSubmodule.currentScale;
|
||||||
transformSubmodule.scaleDirtyMark = false;
|
transformSubmodule.scaleDirtyMark = false;
|
||||||
|
willRefresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (transformSubmodule.eulerAnglesDirtyMark)
|
if (transformSubmodule.eulerAnglesDirtyMark)
|
||||||
@@ -160,6 +166,7 @@ namespace Ichni.RhythmGame
|
|||||||
transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + offset;
|
transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + offset;
|
||||||
attachedGameElement.transform.localEulerAngles = transformSubmodule.currentEulerAngles;
|
attachedGameElement.transform.localEulerAngles = transformSubmodule.currentEulerAngles;
|
||||||
transformSubmodule.eulerAnglesDirtyMark = false;
|
transformSubmodule.eulerAnglesDirtyMark = false;
|
||||||
|
willRefresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (transformSubmodule.positionDirtyMark)
|
if (transformSubmodule.positionDirtyMark)
|
||||||
@@ -173,11 +180,18 @@ namespace Ichni.RhythmGame
|
|||||||
transformSubmodule.currentPosition = transformSubmodule.originalPosition + offset;
|
transformSubmodule.currentPosition = transformSubmodule.originalPosition + offset;
|
||||||
attachedGameElement.transform.localPosition = transformSubmodule.currentPosition;
|
attachedGameElement.transform.localPosition = transformSubmodule.currentPosition;
|
||||||
transformSubmodule.positionDirtyMark = false;
|
transformSubmodule.positionDirtyMark = false;
|
||||||
|
willRefresh = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(willRefresh)
|
||||||
|
{
|
||||||
|
attachedGameElement.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
transformSubmodule.scaleOffset.Clear();
|
transformSubmodule.scaleOffset.Clear();
|
||||||
transformSubmodule.eulerAnglesOffset.Clear();
|
transformSubmodule.eulerAnglesOffset.Clear();
|
||||||
transformSubmodule.positionOffset.Clear();
|
transformSubmodule.positionOffset.Clear();
|
||||||
|
|
||||||
}).AddTo(attachedGameElement);
|
}).AddTo(attachedGameElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
base.SetUpInspector();
|
base.SetUpInspector();
|
||||||
var container = inspector.GenerateContainer("Generate");
|
var container = inspector.GenerateContainer("Generate");
|
||||||
var folderButton = inspector.GenerateButton(this, container, "Folder",
|
var folderButton = inspector.GenerateButton(this, container, "Folder",
|
||||||
|
|||||||
@@ -53,11 +53,12 @@ namespace Ichni.Editor
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Background Setter");
|
var container = inspector.GenerateContainer("Background Setter");
|
||||||
var useSkyboxToggle = inspector.GenerateToggle(this, container, "Use Skybox", nameof(useSkybox));
|
var useSkyboxToggle = inspector.GenerateToggle(this, container, "Use Skybox", nameof(useSkybox));
|
||||||
var skyboxThemeBundleField = inspector.GenerateInputField(this, container, "Skybox Theme Bundle", nameof(skyboxThemeBundleName));
|
var skyboxThemeBundleField = inspector.GenerateParameterInputField(this, container, "Skybox Theme Bundle", nameof(skyboxThemeBundleName));
|
||||||
var skyboxMaterialNameField = inspector.GenerateInputField(this, container, "Skybox Material", nameof(skyboxMaterialName));
|
var skyboxMaterialNameField = inspector.GenerateParameterInputField(this, container, "Skybox Material", nameof(skyboxMaterialName));
|
||||||
var backgroundSpriteField = inspector.GenerateInputField(this, container, "Background Sprite", nameof(backgroundSpriteName));
|
var backgroundSpriteField = inspector.GenerateParameterInputField(this, container, "Background Sprite", nameof(backgroundSpriteName));
|
||||||
var applyButton = inspector.GenerateButton(this, container, "Apply", Refresh);
|
var applyButton = inspector.GenerateButton(this, container, "Apply", Refresh);
|
||||||
useSkyboxToggle.AddListenerFunction(EditorManager.instance.backgroundController.EnableBackground);
|
useSkyboxToggle.AddListenerFunction(EditorManager.instance.backgroundController.EnableBackground);
|
||||||
useSkyboxToggle.AddListenerFunction(value =>
|
useSkyboxToggle.AddListenerFunction(value =>
|
||||||
|
|||||||
@@ -39,9 +39,6 @@ namespace Ichni.RhythmGame
|
|||||||
//存档类
|
//存档类
|
||||||
public BaseElement_BM matchedBM { get; set; }
|
public BaseElement_BM matchedBM { get; set; }
|
||||||
|
|
||||||
public Inspector inspector => EditorManager.instance.uiManager.inspector;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 首次初始化
|
/// 首次初始化
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -151,8 +148,9 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
public virtual void SetUpInspector() //被点击时设置第一层Inspector
|
public virtual void SetUpInspector() //被点击时设置第一层Inspector
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Element Info");
|
var container = inspector.GenerateContainer("Element Info");
|
||||||
var nameInputField = inspector.GenerateInputField(this, container, GetType().Name + "'s Name", nameof(elementName));
|
var nameInputField = inspector.GenerateParameterInputField(this, container, GetType().Name + "'s Name", nameof(elementName));
|
||||||
var guidText = inspector.GenerateParameterText(this, container, "Element GUID", nameof(elementGuid));
|
var guidText = inspector.GenerateParameterText(this, container, "Element GUID", nameof(elementGuid));
|
||||||
var tagsListButton = inspector.GenerateButton(this, container, "Tags List", () =>
|
var tagsListButton = inspector.GenerateButton(this, container, "Tags List", () =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Bloom Shake");
|
var container = inspector.GenerateContainer("Bloom Shake");
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Bloom Time", nameof(bloomTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Bloom Time", nameof(bloomTime));
|
||||||
var bloomPeakField = inspector.GenerateInputField(this, container, "Bloom Peak", nameof(bloomPeak));
|
var bloomPeakField = inspector.GenerateParameterInputField(this, container, "Bloom Peak", nameof(bloomPeak));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -42,8 +43,9 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Time Effects Collection");
|
var container = inspector.GenerateContainer("Time Effects Collection");
|
||||||
var timeInputField = inspector.GenerateInputField(this, container, "Time", nameof(time));
|
var timeInputField = inspector.GenerateParameterInputField(this, container, "Time", nameof(time));
|
||||||
var addEffectButton = inspector.GenerateButton(this, container, "Add Effect", () =>
|
var addEffectButton = inspector.GenerateButton(this, container, "Add Effect", () =>
|
||||||
{
|
{
|
||||||
IHaveEffectSubmodule.EffectCollection.TryGetValue("BloomShake", out var effect);
|
IHaveEffectSubmodule.EffectCollection.TryGetValue("BloomShake", out var effect);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Ichni.Editor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Ichni.RhythmGame
|
namespace Ichni.RhythmGame
|
||||||
@@ -15,7 +16,8 @@ namespace Ichni.RhythmGame
|
|||||||
tempObj.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
|
tempObj.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
|
||||||
tempObj.themeBundleName = string.Empty;
|
tempObj.themeBundleName = string.Empty;
|
||||||
tempObj.objectName = string.Empty;
|
tempObj.objectName = string.Empty;
|
||||||
tempObj.themeBundleList = ThemeBundleManager.instance.loadedThemeBundleList.ConvertAll(x => x.themeBundleName);
|
tempObj.themeBundleList =
|
||||||
|
ThemeBundleManager.instance.loadedThemeBundleList.ConvertAll(x => x.themeBundleName);
|
||||||
tempObj.objectNameList = new List<string>();
|
tempObj.objectNameList = new List<string>();
|
||||||
return tempObj;
|
return tempObj;
|
||||||
}
|
}
|
||||||
@@ -25,27 +27,33 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
var container = inspector.GenerateContainer("Temporary Object");
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
var themeBundleDropdown = inspector.GenerateDropdown(this, container, "Theme Bundle", themeBundleList, nameof(themeBundleName));
|
var container = inspector.GenerateContainer("Temporary Object");
|
||||||
themeBundleDropdown.AddListenerFunction(_ => inspector.SetInspector(this));
|
|
||||||
|
var themeBundleDropdown = inspector.GenerateDropdown(this, container, "Theme Bundle",
|
||||||
|
themeBundleList, nameof(themeBundleName));
|
||||||
|
themeBundleDropdown.AddListenerFunction(_ => inspectorMain.SetInspector(this));
|
||||||
|
|
||||||
if (themeBundleName != String.Empty)
|
if (themeBundleName != String.Empty)
|
||||||
{
|
{
|
||||||
objectNameList = ThemeBundleManager.instance.GetThemeBundle(themeBundleName).assetList_GameObject.ConvertAll(x => x.name);
|
objectNameList = ThemeBundleManager.instance.GetThemeBundle(themeBundleName).assetList_GameObject.ConvertAll(x => x.name);
|
||||||
var objectNameDropdown = inspector.GenerateDropdown(this, container, "Object Name", objectNameList, nameof(objectName));
|
var objectNameDropdown =
|
||||||
objectNameDropdown.AddListenerFunction(_ => inspector.SetInspector(this));
|
inspector.GenerateDropdown(this, container, "Object Name", objectNameList, nameof(objectName));
|
||||||
|
objectNameDropdown.AddListenerFunction(_ => inspectorMain.SetInspector(this));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var objectNameDropdown = inspector.GenerateDropdown(this, container, "Object Name", new List<string>(), nameof(objectName));
|
var objectNameDropdown = inspector.GenerateDropdown(this, container, "Object Name",
|
||||||
|
new List<string>(), nameof(objectName));
|
||||||
objectNameDropdown.dropdown.interactable = false;
|
objectNameDropdown.dropdown.interactable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var generateButton = inspector.GenerateButton(this, container, "Generate", () =>
|
var generateButton = inspector.GenerateButton(this, container, "Generate", () =>
|
||||||
{
|
{
|
||||||
Delete();
|
Delete();
|
||||||
inspector.ClearInspector();
|
inspectorMain.ClearInspector();
|
||||||
SubstantialObject.GenerateElement(elementName, elementGuid, tags, false, themeBundleName, objectName, parentElement);
|
SubstantialObject.GenerateElement(elementName, elementGuid, tags, false, themeBundleName, objectName, parentElement);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Dreamteck.Splines;
|
using Dreamteck.Splines;
|
||||||
using Ichni;
|
using Ichni;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Lean.Pool;
|
using Lean.Pool;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
@@ -82,6 +83,8 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
base.SetUpInspector();
|
base.SetUpInspector();
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Path Node");
|
var container = inspector.GenerateContainer("Path Node");
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Lean.Pool;
|
using Lean.Pool;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -70,6 +71,8 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||||
base.SetUpInspector();
|
base.SetUpInspector();
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Track");
|
var container = inspector.GenerateContainer("Track");
|
||||||
@@ -78,26 +81,26 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
trackPathSubmodule = new TrackPathSubmodule(this, TrackSpaceType.CatmullRom,
|
trackPathSubmodule = new TrackPathSubmodule(this, TrackSpaceType.CatmullRom,
|
||||||
TrackSamplingType.TimeDistributed, false);
|
TrackSamplingType.TimeDistributed, false);
|
||||||
inspector.SetInspector(this);
|
inspectorMain.SetInspector(this);
|
||||||
});
|
});
|
||||||
var trackTimeMovableButton = inspector.GenerateButton(this, container, "Track Time Movable",
|
var trackTimeMovableButton = inspector.GenerateButton(this, container, "Track Time Movable",
|
||||||
() =>
|
() =>
|
||||||
{
|
{
|
||||||
trackTimeSubmodule = new TrackTimeSubmoduleMovable(this, 0, 1, 1, AnimationCurveType.Linear);
|
trackTimeSubmodule = new TrackTimeSubmoduleMovable(this, 0, 1, 1, AnimationCurveType.Linear);
|
||||||
inspector.SetInspector(this);
|
inspectorMain.SetInspector(this);
|
||||||
});
|
});
|
||||||
var trackTimeStaticButton = inspector.GenerateButton(this, container, "Track Time Static",
|
var trackTimeStaticButton = inspector.GenerateButton(this, container, "Track Time Static",
|
||||||
() =>
|
() =>
|
||||||
{
|
{
|
||||||
trackTimeSubmodule = new TrackTimeSubmoduleStatic(this, 1, AnimationCurveType.Linear);
|
trackTimeSubmodule = new TrackTimeSubmoduleStatic(this, 1, AnimationCurveType.Linear);
|
||||||
inspector.SetInspector(this);
|
inspectorMain.SetInspector(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
var trackRendererAutoOrientButton = inspector.GenerateButton(this, container, "Track Renderer Auto Orient",
|
var trackRendererAutoOrientButton = inspector.GenerateButton(this, container, "Track Renderer Auto Orient",
|
||||||
() =>
|
() =>
|
||||||
{
|
{
|
||||||
trackRendererSubmodule = new TrackRendererSubmoduleAutoOrient(this);
|
trackRendererSubmodule = new TrackRendererSubmoduleAutoOrient(this);
|
||||||
inspector.SetInspector(this);
|
inspectorMain.SetInspector(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
var trackRendererPathGeneratorButton = inspector.GenerateButton(this, container,
|
var trackRendererPathGeneratorButton = inspector.GenerateButton(this, container,
|
||||||
@@ -105,7 +108,7 @@ namespace Ichni.RhythmGame
|
|||||||
() =>
|
() =>
|
||||||
{
|
{
|
||||||
trackRendererSubmodule = new TrackRendererSubmodulePathGenerator(this);
|
trackRendererSubmodule = new TrackRendererSubmodulePathGenerator(this);
|
||||||
inspector.SetInspector(this);
|
inspectorMain.SetInspector(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (trackPathSubmodule != null)
|
if (trackPathSubmodule != null)
|
||||||
@@ -141,6 +144,29 @@ namespace Ichni.RhythmGame
|
|||||||
Swirl.GenerateElement("New Swirl", Guid.NewGuid(), new List<string>(), true, this,
|
Swirl.GenerateElement("New Swirl", Guid.NewGuid(), new List<string>(), true, this,
|
||||||
new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat());
|
new FlexibleFloat(), new FlexibleFloat(), new FlexibleFloat());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var QuickCopyButton = inspector.GenerateButton(this, container, "QuickCopy", () =>
|
||||||
|
{
|
||||||
|
IHaveInspection qcWindow = inspectorMain.GenerateSecondaryWindow(this, elementName + "'s Quick Copy");
|
||||||
|
var qcContainer = qcWindow.GenerateContainer();
|
||||||
|
var xField = qcWindow.GenerateGetterInputField(qcContainer, "X offset", "0");
|
||||||
|
var yField = qcWindow.GenerateGetterInputField(qcContainer, "Y offset", "0");
|
||||||
|
var zField = qcWindow.GenerateGetterInputField(qcContainer, "Z offset", "0");
|
||||||
|
qcWindow.GenerateButton(this, qcContainer, "Copy", () =>
|
||||||
|
{
|
||||||
|
CopyPasteDeleteModule cpd = EditorManager.instance.operationManager.CopyPasteDeleteModule;
|
||||||
|
cpd.CopyElement(this);
|
||||||
|
cpd.PasteElement(parentElement);
|
||||||
|
Track newTrack = cpd.pastedElementList[0] as Track;
|
||||||
|
newTrack.trackPathSubmodule.pathNodeList.ForEach(pn =>
|
||||||
|
{
|
||||||
|
Vector3 offset = new Vector3(xField.GetResult<float>(), yField.GetResult<float>(), zField.GetResult<float>());
|
||||||
|
pn.transformSubmodule.originalPosition += offset;
|
||||||
|
pn.transformSubmodule.Refresh();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
container.SetDeviver(1);
|
container.SetDeviver(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Dreamteck.Splines;
|
using Dreamteck.Splines;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame;
|
using Ichni.RhythmGame;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -90,6 +91,8 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
base.SetUpInspector();
|
base.SetUpInspector();
|
||||||
var container = inspector.GenerateContainer("Cross Track Point");
|
var container = inspector.GenerateContainer("Cross Track Point");
|
||||||
var trackSwitchButton = inspector.GenerateButton(this, container, "Track Switch",
|
var trackSwitchButton = inspector.GenerateButton(this, container, "Track Switch",
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Dreamteck.Splines;
|
using Dreamteck.Splines;
|
||||||
|
using Ichni.Editor;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
using Unity.VisualScripting;
|
using Unity.VisualScripting;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@@ -73,6 +74,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Track Path");
|
var container = inspector.GenerateContainer("Track Path");
|
||||||
var trackSpaceDropdown =
|
var trackSpaceDropdown =
|
||||||
inspector.GenerateDropdown(this, container, "Space Type", typeof(Track.TrackSpaceType), nameof(trackSpaceType));
|
inspector.GenerateDropdown(this, container, "Space Type", typeof(Track.TrackSpaceType), nameof(trackSpaceType));
|
||||||
@@ -120,7 +122,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void DuplicateBM(GameElement attached)
|
public override void DuplicateBM(GameElement attached)
|
||||||
{
|
{
|
||||||
Track track = attachedElement as Track;
|
Track track = attached as Track;
|
||||||
track.trackPathSubmodule = new TrackPathSubmodule(track, trackSpaceType, trackSamplingType, isClosed);
|
track.trackPathSubmodule = new TrackPathSubmodule(track, trackSpaceType, trackSamplingType, isClosed);
|
||||||
track.submoduleList.Add(track.trackPathSubmodule);
|
track.submoduleList.Add(track.trackPathSubmodule);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Dreamteck.Splines;
|
using Dreamteck.Splines;
|
||||||
|
using Ichni.Editor;
|
||||||
using Unity.VisualScripting;
|
using Unity.VisualScripting;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using Inspector = Unity.VisualScripting.Inspector;
|
||||||
|
|
||||||
namespace Ichni.RhythmGame
|
namespace Ichni.RhythmGame
|
||||||
{
|
{
|
||||||
@@ -63,6 +65,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Track Renderer Auto Orient");
|
var container = inspector.GenerateContainer("Track Renderer Auto Orient");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -143,6 +146,7 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Track Renderer Path Generator");
|
var container = inspector.GenerateContainer("Track Renderer Path Generator");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Ichni.Editor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Ichni.RhythmGame
|
namespace Ichni.RhythmGame
|
||||||
@@ -70,12 +71,15 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Track Time Movable");
|
var container = inspector.GenerateContainer("Track Time Movable");
|
||||||
var startTimeInputField =
|
var startTimeInputField =
|
||||||
inspector.GenerateInputField(this, container, "Start Time", nameof(trackStartTime));
|
inspector.GenerateParameterInputField(this, container, "Start Time", nameof(trackStartTime));
|
||||||
var endTimeInputField = inspector.GenerateInputField(this, container, "End Time", nameof(trackEndTime));
|
var endTimeInputField = inspector.GenerateParameterInputField(this, container, "End Time", nameof(trackEndTime));
|
||||||
var visibleTimeInputField =
|
var visibleTimeInputField =
|
||||||
inspector.GenerateInputField(this, container, "Visible Time Length", nameof(visibleTrackTimeLength));
|
inspector.GenerateParameterInputField(this, container, "Visible Time Length", nameof(visibleTrackTimeLength));
|
||||||
var animationCurveDropdown = inspector.GenerateDropdown(this, container, "Animation Curve",
|
var animationCurveDropdown = inspector.GenerateDropdown(this, container, "Animation Curve",
|
||||||
typeof(AnimationCurveType), nameof(animationCurveType));
|
typeof(AnimationCurveType), nameof(animationCurveType));
|
||||||
var deleteButton = inspector.GenerateButton(this, container, "Delete",
|
var deleteButton = inspector.GenerateButton(this, container, "Delete",
|
||||||
@@ -83,7 +87,7 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
Delete();
|
Delete();
|
||||||
track.trackTimeSubmodule = null;
|
track.trackTimeSubmodule = null;
|
||||||
inspector.SetInspector(track);
|
inspectorMain.SetInspector(track);
|
||||||
track.Refresh();
|
track.Refresh();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -153,9 +157,12 @@ namespace Ichni.RhythmGame
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
|
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Track Time Static");
|
var container = inspector.GenerateContainer("Track Time Static");
|
||||||
var totalTimeInputField =
|
var totalTimeInputField =
|
||||||
inspector.GenerateInputField(this, container, "Total Time", nameof(trackTotalTime));
|
inspector.GenerateParameterInputField(this, container, "Total Time", nameof(trackTotalTime));
|
||||||
var animationCurveDropdown = inspector.GenerateDropdown(this, container, "Animation Curve",
|
var animationCurveDropdown = inspector.GenerateDropdown(this, container, "Animation Curve",
|
||||||
typeof(AnimationCurveType), nameof(animationCurveType));
|
typeof(AnimationCurveType), nameof(animationCurveType));
|
||||||
var deleteButton = inspector.GenerateButton(this, container, "Delete",
|
var deleteButton = inspector.GenerateButton(this, container, "Delete",
|
||||||
@@ -163,7 +170,7 @@ namespace Ichni.RhythmGame
|
|||||||
{
|
{
|
||||||
Delete();
|
Delete();
|
||||||
track.trackTimeSubmodule = null;
|
track.trackTimeSubmodule = null;
|
||||||
inspector.SetInspector(track);
|
inspectorMain.SetInspector(track);
|
||||||
track.Refresh();
|
track.Refresh();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,8 +31,13 @@ public class BasePrefabsCollection : SerializedScriptableObject
|
|||||||
|
|
||||||
[Title("Effect相关")] public GameObject bloomShake;
|
[Title("Effect相关")] public GameObject bloomShake;
|
||||||
|
|
||||||
[Title("DynamicUI相关-Simple")] public GameObject dynamicUIContainer;
|
[Title("Inspector相关")]
|
||||||
public GameObject inputField;
|
public GameObject inspectorSecondaryWindow;
|
||||||
|
|
||||||
|
[Title("DynamicUI相关-Simple")]
|
||||||
|
public GameObject dynamicUIContainer;
|
||||||
|
[FormerlySerializedAs("inputField")] public GameObject parameterInputField;
|
||||||
|
public GameObject getterInputField;
|
||||||
[FormerlySerializedAs("Vector3inputField")] public GameObject vector3InputField;
|
[FormerlySerializedAs("Vector3inputField")] public GameObject vector3InputField;
|
||||||
[FormerlySerializedAs("text")] public GameObject parameterText;
|
[FormerlySerializedAs("text")] public GameObject parameterText;
|
||||||
public GameObject hintText;
|
public GameObject hintText;
|
||||||
|
|||||||
@@ -35,11 +35,12 @@ namespace Ichni.Editor
|
|||||||
|
|
||||||
public void SetUpInspector()
|
public void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
string ShowCameraType() => isSceneCameraActive ? "Scene Camera" : "Game Camera";
|
string ShowCameraType() => isSceneCameraActive ? "Scene Camera" : "Game Camera";
|
||||||
var container = EditorManager.instance.uiManager.inspector.GenerateContainer("Camera Manager");
|
var container = inspector.GenerateContainer("Camera Manager");
|
||||||
var cameraTypeText = EditorManager.instance.uiManager.inspector.GenerateHintText(this, container, ShowCameraType);
|
var cameraTypeText = inspector.GenerateHintText(this, container, ShowCameraType);
|
||||||
var switchCameraButton = EditorManager.instance.uiManager.inspector.GenerateButton(this, container, "Switch Camera", SwitchCamera);
|
var switchCameraButton = inspector.GenerateButton(this, container, "Switch Camera", SwitchCamera);
|
||||||
var cameraMoveSpeedField = EditorManager.instance.uiManager.inspector.GenerateInputField(this, container, "Scene Camera Move Speed", nameof(sceneCameraMoveSpeed));
|
var cameraMoveSpeedField = inspector.GenerateParameterInputField(this, container, "Scene Camera Move Speed", nameof(sceneCameraMoveSpeed));
|
||||||
sceneCamera.SetUpInspector();
|
sceneCamera.SetUpInspector();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ namespace Ichni
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = uiManager.inspector;
|
||||||
|
|
||||||
var container = inspector.GenerateContainer("Editor Manager");
|
var container = inspector.GenerateContainer("Editor Manager");
|
||||||
var judgeTypeDropdown = inspector.GenerateDropdown(this, container, "Judge Type",
|
var judgeTypeDropdown = inspector.GenerateDropdown(this, container, "Judge Type",
|
||||||
typeof(NoteBase.NoteJudgeType), nameof(currentJudgeType));
|
typeof(NoteBase.NoteJudgeType), nameof(currentJudgeType));
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ namespace Ichni.Editor
|
|||||||
public class CopyPasteDeleteModule
|
public class CopyPasteDeleteModule
|
||||||
{
|
{
|
||||||
public GameElement copiedElement;
|
public GameElement copiedElement;
|
||||||
|
public List<GameElement> pastedElementList;
|
||||||
|
|
||||||
public void CopyElement(GameElement gameElement)
|
public void CopyElement(GameElement gameElement)
|
||||||
{
|
{
|
||||||
LogWindow.Log("Copied element: " + gameElement.elementName);
|
LogWindow.Log("Copied element: " + gameElement.elementName);
|
||||||
@@ -49,6 +50,7 @@ namespace Ichni.Editor
|
|||||||
}
|
}
|
||||||
|
|
||||||
LogWindow.Log("Pasted element: " + copiedElement.elementName + " to " + parentElement.elementName);
|
LogWindow.Log("Pasted element: " + copiedElement.elementName + " to " + parentElement.elementName);
|
||||||
|
pastedElementList = new List<GameElement>();
|
||||||
AffiliatedPaste(copiedElement, parentElement);
|
AffiliatedPaste(copiedElement, parentElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,9 +76,11 @@ namespace Ichni.Editor
|
|||||||
{
|
{
|
||||||
gameElement.SaveBM();
|
gameElement.SaveBM();
|
||||||
GameElement pastedElement = (gameElement.matchedBM as GameElement_BM).DuplicateBM(parent);
|
GameElement pastedElement = (gameElement.matchedBM as GameElement_BM).DuplicateBM(parent);
|
||||||
|
pastedElementList.Add(pastedElement);
|
||||||
|
|
||||||
gameElement.submoduleList.ForEach(submodule =>
|
gameElement.submoduleList.ForEach(submodule =>
|
||||||
{
|
{
|
||||||
|
Debug.Log(submodule.GetType() + " is pasted.");
|
||||||
submodule.SaveBM();
|
submodule.SaveBM();
|
||||||
(submodule.matchedBM as Submodule_BM).DuplicateBM(pastedElement);
|
(submodule.matchedBM as Submodule_BM).DuplicateBM(pastedElement);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ namespace Ichni.Editor
|
|||||||
|
|
||||||
public void SetUpInspector()
|
public void SetUpInspector()
|
||||||
{
|
{
|
||||||
Inspector inspector = EditorManager.instance.uiManager.inspector;
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Scene Camera");
|
var container = inspector.GenerateContainer("Scene Camera");
|
||||||
var viewTypeDropdown = inspector.GenerateDropdown(this, container, "View Type", typeof(GameCamera.CameraViewType), nameof(viewType));
|
var viewTypeDropdown = inspector.GenerateDropdown(this, container, "View Type", typeof(GameCamera.CameraViewType), nameof(viewType));
|
||||||
var perspectiveAngleField = inspector.GenerateInputField(this, container, "Perspective Angle", nameof(perspectiveAngle));
|
var perspectiveAngleField = inspector.GenerateParameterInputField(this, container, "Perspective Angle", nameof(perspectiveAngle));
|
||||||
var orthographicSizeField = inspector.GenerateInputField(this, container, "Orthographic Size", nameof(orthographicSize));
|
var orthographicSizeField = inspector.GenerateParameterInputField(this, container, "Orthographic Size", nameof(orthographicSize));
|
||||||
|
|
||||||
viewTypeDropdown.AddListenerFunction(_ =>
|
viewTypeDropdown.AddListenerFunction(_ =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -39,8 +39,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Basic Note Bad Expand");
|
var container = inspector.GenerateContainer("Basic Note Bad Expand");
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Effect Time", nameof(effectTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,9 +39,10 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Basic Note Generate Expand");
|
var container = inspector.GenerateContainer("Basic Note Generate Expand");
|
||||||
var generateTimeField = inspector.GenerateInputField(this, container, "Generate Time", nameof(generateTime));
|
var generateTimeField = inspector.GenerateParameterInputField(this, container, "Generate Time", nameof(generateTime));
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Effect Time", nameof(effectTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Basic Note Good Burst");
|
var container = inspector.GenerateContainer("Basic Note Good Burst");
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Effect Time", nameof(effectTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Basic Note Miss Pale");
|
var container = inspector.GenerateContainer("Basic Note Miss Pale");
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Effect Time", nameof(effectTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,9 @@ namespace Ichni.RhythmGame.ThemeBundles.Basic
|
|||||||
|
|
||||||
public override void SetUpInspector()
|
public override void SetUpInspector()
|
||||||
{
|
{
|
||||||
|
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||||
var container = inspector.GenerateContainer("Basic Note Perfect Burst");
|
var container = inspector.GenerateContainer("Basic Note Perfect Burst");
|
||||||
var effectTimeField = inspector.GenerateInputField(this, container, "Effect Time", nameof(effectTime));
|
var effectTimeField = inspector.GenerateParameterInputField(this, container, "Effect Time", nameof(effectTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user