diff --git a/Assets/Resources/Prefabs/UI/Buttons/UISearchInput.prefab b/Assets/Resources/Prefabs/UI/Buttons/UISearchInput.prefab index eec96f99..64f68e2e 100644 --- a/Assets/Resources/Prefabs/UI/Buttons/UISearchInput.prefab +++ b/Assets/Resources/Prefabs/UI/Buttons/UISearchInput.prefab @@ -179,7 +179,7 @@ MonoBehaviour: 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_SelectionColor: {r: 0, g: 0, b: 0, a: 1} m_Text: m_CaretBlinkRate: 0.85 m_CaretWidth: 1 diff --git a/Assets/Resources/Prefabs/UI/List/ComponentsListItem.prefab b/Assets/Resources/Prefabs/UI/List/ComponentsListItem.prefab index 4d5eaeb4..0cafe5db 100644 --- a/Assets/Resources/Prefabs/UI/List/ComponentsListItem.prefab +++ b/Assets/Resources/Prefabs/UI/List/ComponentsListItem.prefab @@ -442,7 +442,7 @@ MonoBehaviour: 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_SelectionColor: {r: 0, g: 0, b: 0, a: 1} m_Text: Comment m_CaretBlinkRate: 0.85 m_CaretWidth: 1 diff --git a/Assets/Resources/Prefabs/UI/List/ConfigDataOrderListItem.prefab b/Assets/Resources/Prefabs/UI/List/ConfigDataOrderListItem.prefab index da83f64c..12c3cfb6 100644 --- a/Assets/Resources/Prefabs/UI/List/ConfigDataOrderListItem.prefab +++ b/Assets/Resources/Prefabs/UI/List/ConfigDataOrderListItem.prefab @@ -714,7 +714,7 @@ MonoBehaviour: 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_SelectionColor: {r: 0, g: 0, b: 0, a: 1} m_Text: m_CaretBlinkRate: 0.85 m_CaretWidth: 1 diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab b/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab new file mode 100644 index 00000000..1393e866 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab @@ -0,0 +1,119 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8077926884800948556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1370316903422300007} + - component: {fileID: 8355230536657704338} + - component: {fileID: 9075607425469398654} + - component: {fileID: 2148453416675028751} + - component: {fileID: 6075617919914252999} + m_Layer: 5 + m_Name: ContextMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1370316903422300007 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8077926884800948556} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 9, y: 0} + m_SizeDelta: {x: 200, y: 24} + m_Pivot: {x: 0, y: 1} +--- !u!222 &8355230536657704338 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8077926884800948556} + m_CullTransparentMesh: 1 +--- !u!114 &9075607425469398654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8077926884800948556} + 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: 0.14509805, g: 0.14509805, b: 0.14901961, 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: 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 &2148453416675028751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8077926884800948556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &6075617919914252999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8077926884800948556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab.meta b/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab.meta new file mode 100644 index 00000000..d6515bab --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenu.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e9ffd819d556fbe4ca82cd27201bb551 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab b/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab new file mode 100644 index 00000000..00358ae5 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab @@ -0,0 +1,259 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &240675657593561248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7635178805811483352} + - component: {fileID: 9221640951072526697} + - component: {fileID: 7726618797157962678} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7635178805811483352 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240675657593561248} + 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: 1286628769360481210} + 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: -64, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9221640951072526697 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240675657593561248} + m_CullTransparentMesh: 1 +--- !u!114 &7726618797157962678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 240675657593561248} + 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: sub menu + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 08cebd004d97ca742ac80400f37f4eed, type: 2} + m_sharedMaterial: {fileID: 2932820786140262606, guid: 08cebd004d97ca742ac80400f37f4eed, 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: 13 + m_fontSizeBase: 13 + 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: -40 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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 &9099411185141743313 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1286628769360481210} + - component: {fileID: 4706415591313670790} + - component: {fileID: 2647556238452954921} + - component: {fileID: 6822514240024166764} + m_Layer: 5 + m_Name: ContextMenuItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1286628769360481210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9099411185141743313} + 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: 7635178805811483352} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 200, y: 24} + m_Pivot: {x: 0, y: 1} +--- !u!222 &4706415591313670790 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9099411185141743313} + m_CullTransparentMesh: 1 +--- !u!114 &2647556238452954921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9099411185141743313} + 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: 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 &6822514240024166764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9099411185141743313} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.14509805, g: 0.14509805, b: 0.14509805, a: 1} + m_HighlightedColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_PressedColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_SelectedColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_DisabledColor: {r: 0.14509805, g: 0.14509805, b: 0.14509805, 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: 2647556238452954921} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab.meta b/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab.meta new file mode 100644 index 00000000..5ac2de5c --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenuItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb28ac6e3a7bb5e4bba261f9f6e225f5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab b/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab new file mode 100644 index 00000000..18361cb0 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6500009747223151294 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6349205749044149582} + - component: {fileID: 4795323512505652814} + m_Layer: 5 + m_Name: ContextMenuManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6349205749044149582 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500009747223151294} + 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: 0} + 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: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4795323512505652814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500009747223151294} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b5b3bd4b972b154d97b0d27797d1dd3, type: 3} + m_Name: + m_EditorClassIdentifier: + contextMenuPrefab: {fileID: 8077926884800948556, guid: e9ffd819d556fbe4ca82cd27201bb551, type: 3} + contextMenuItemPrefab: {fileID: 9099411185141743313, guid: bb28ac6e3a7bb5e4bba261f9f6e225f5, type: 3} + mainCanvas: {fileID: 0} diff --git a/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab.meta b/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab.meta new file mode 100644 index 00000000..4b70dec7 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Menu/ContextMenuManager.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bcef0eb24553f934f9cc233fb7de9083 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Modal/ComponentList.prefab b/Assets/Resources/Prefabs/UI/Modal/ComponentList.prefab index c93c36f9..9d88979e 100644 --- a/Assets/Resources/Prefabs/UI/Modal/ComponentList.prefab +++ b/Assets/Resources/Prefabs/UI/Modal/ComponentList.prefab @@ -262,6 +262,139 @@ MonoBehaviour: values: [] padding: 0 space: 0 +--- !u!1 &1115457389319142796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1651572840142747242} + - component: {fileID: 3562975801783386082} + - component: {fileID: 736462950363550061} + - component: {fileID: 7109411913220076719} + m_Layer: 5 + m_Name: removeTextButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1651572840142747242 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115457389319142796} + 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: 1127094489884572455} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 24, y: 16} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &3562975801783386082 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115457389319142796} + m_CullTransparentMesh: 1 +--- !u!114 &736462950363550061 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115457389319142796} + 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: 0.8, g: 0.8, b: 0.8, 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: 21300000, guid: 17863240a1386604e8c74d85d4a95818, type: 3} + m_Type: 0 + 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 &7109411913220076719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115457389319142796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.8, g: 0.8, b: 0.8, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.8, g: 0.8, b: 0.8, 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: 736462950363550061} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 6197871923321625756} + m_TargetAssemblyTypeName: UVC.Factory.Modal.ComponentList.ComponentList, + Assembly-CSharp + m_MethodName: OnClickClearText + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &2827174293837863383 GameObject: m_ObjectHideFlags: 0 @@ -293,6 +426,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1651572840142747242} - {fileID: 1689072657152192205} m_Father: {fileID: 6256043013987599201} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -424,7 +558,7 @@ MonoBehaviour: 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_SelectionColor: {r: 0, g: 0, b: 0, a: 1} m_Text: m_CaretBlinkRate: 0.85 m_CaretWidth: 1 @@ -1021,7 +1155,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &2915193004061658818 RectTransform: m_ObjectHideFlags: 0 @@ -1036,9 +1170,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 6688615639900176319} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 17, y: -11} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 22, y: 22} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2490869691624528142 diff --git a/Assets/Scenes/SampleProject.unity b/Assets/Scenes/SampleProject.unity index c5a6cc3f..e89fd57f 100644 --- a/Assets/Scenes/SampleProject.unity +++ b/Assets/Scenes/SampleProject.unity @@ -119,6 +119,98 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &67358718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 67358722} + - component: {fileID: 67358721} + - component: {fileID: 67358720} + - component: {fileID: 67358719} + m_Layer: 5 + m_Name: UILoading + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!225 &67358719 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 67358718} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!223 &67358720 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 67358718} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 100 + m_TargetDisplay: 0 +--- !u!114 &67358721 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 67358718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0575433bbc705184a91373cc1596e713, type: 3} + m_Name: + m_EditorClassIdentifier: + canvasGroup: {fileID: 67358719} + loadinImage: {fileID: 978474120} + duration: 0.25 + loadingSpeed: -1.5 + rotationSpeed: -1 +--- !u!224 &67358722 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 67358718} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1257753188} + - {fileID: 978474122} + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} --- !u!1 &88083290 GameObject: m_ObjectHideFlags: 0 @@ -515,6 +607,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a26959c49f0726e4eab1de41b396214a, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!224 &251335780 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + m_PrefabInstance: {fileID: 971892903737973619} + m_PrefabAsset: {fileID: 0} --- !u!1 &330585543 GameObject: m_ObjectHideFlags: 0 @@ -693,6 +790,8 @@ MonoBehaviour: maxPitch: 85 minYaw: -45 maxYaw: 45 + EnabledRotation: 1 + EnabledZoom: 1 Enable: 1 --- !u!1 &409033530 GameObject: @@ -1165,7 +1264,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 251335780} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -1834,6 +1934,81 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: af02edfdfb8a7b847aed5397dd6dc4c9, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &978474119 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 978474122} + - component: {fileID: 978474121} + - component: {fileID: 978474120} + m_Layer: 5 + m_Name: loadingImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &978474120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978474119} + 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: 21300000, guid: 46d4910ba7714804db4387b2cde06e49, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 0 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &978474121 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978474119} + m_CullTransparentMesh: 1 +--- !u!224 &978474122 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978474119} + 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: 67358722} + 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: 0} + m_SizeDelta: {x: 32, y: 32} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &989867586 GameObject: m_ObjectHideFlags: 0 @@ -2308,6 +2483,102 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1101428664} m_CullTransparentMesh: 1 +--- !u!1 &1257753187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1257753188} + - component: {fileID: 1257753191} + - component: {fileID: 1257753190} + - component: {fileID: 1257753189} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1257753188 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257753187} + 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: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 67358722} + 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!114 &1257753189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257753187} + 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 +--- !u!114 &1257753190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257753187} + 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: 0.078431375, g: 0.078431375, b: 0.078431375, a: 0.9607843} + 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: 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!222 &1257753191 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1257753187} + m_CullTransparentMesh: 0 --- !u!224 &1276747871 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 6256043013987599201, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} @@ -3394,6 +3665,107 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1001 &971892903737973619 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 495653798} + m_Modifications: + - target: {fileID: 4795323512505652814, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: mainCanvas + value: + objectReference: {fileID: 495653797} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6349205749044149582, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6500009747223151294, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} + propertyPath: m_Name + value: ContextMenuManager + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: bcef0eb24553f934f9cc233fb7de9083, type: 3} --- !u!1001 &2046556551915540031 PrefabInstance: m_ObjectHideFlags: 0 @@ -3706,6 +4078,22 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2915193004061658818, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2915193004061658818, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2915193004061658818, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2915193004061658818, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4780031981297733594, guid: 03f8f942677c5ce45b29b5e38c28cb18, type: 3} propertyPath: m_Name value: ComponentList @@ -4038,3 +4426,4 @@ SceneRoots: - {fileID: 88083293} - {fileID: 1840728471} - {fileID: 1091201608} + - {fileID: 67358722} diff --git a/Assets/Scripts/UVC/Factory/Camera/FactoryCameraController.cs b/Assets/Scripts/UVC/Factory/Camera/FactoryCameraController.cs index 04e488ea..2702817d 100644 --- a/Assets/Scripts/UVC/Factory/Camera/FactoryCameraController.cs +++ b/Assets/Scripts/UVC/Factory/Camera/FactoryCameraController.cs @@ -15,39 +15,58 @@ namespace UVC.Factory { [Header("Panning Speed")] [Tooltip("카메라 높이가 임계값보다 낮을 때의 평행 이동 속도")] - public float lowAltitudePanSpeed = 0.5f; + [SerializeField] + private float lowAltitudePanSpeed = 0.5f; [Tooltip("카메라 높이가 임계값보다 높을 때의 평행 이동 속도")] - public float highAltitudePanSpeed = 10f; + [SerializeField] + private float highAltitudePanSpeed = 10f; [Tooltip("카메라 회전 속도")] - public float rotationSpeed = 300f; + [SerializeField] + private float rotationSpeed = 300f; [Tooltip("카메라 줌 속도")] - public float zoomSpeed = 10f; + [SerializeField] + private float zoomSpeed = 10f; [Header("Movement Smoothing")] [Tooltip("패닝 시 마우스 이동량의 최대값을 제한하여, 프레임 드랍 시 카메라가 급격하게 튀는 현상을 방지합니다.")] - public float maxPanDelta = 50f; + [SerializeField] + private float maxPanDelta = 50f; [Header("Camera")] [Tooltip("카메라 최소 높이")] - public float minCameraY = 2f; + [SerializeField] + private float minCameraY = 2f; [Tooltip("카메라 최대 높이")] - public float maxCameraY = 50f; + [SerializeField] + private float maxCameraY = 50f; [Tooltip("카메라의 최소 수직 회전 각도 (X축)")] - public float minPitch = 20f; + [SerializeField] + private float minPitch = 20f; [Tooltip("카메라의 최대 수직 회전 각도 (X축)")] - public float maxPitch = 85f; + [SerializeField] + private float maxPitch = 85f; [Tooltip("카메라의 최소 수평 회전 각도 (y축)")] - public float minYaw = -45f; + [SerializeField] + private float minYaw = -45f; [Tooltip("카메라의 최대 수평 회전 각도 (y축)")] - public float maxYaw = 45f; + [SerializeField] + private float maxYaw = 45f; + + [Tooltip("마우스를 이용 한 회전 사용 여부")] + [SerializeField] + public bool EnabledRotation = true; + + [Tooltip("마우스를 이용 한 확대/축소 사용 여부")] + [SerializeField] + public bool EnabledZoom = true; /// /// 카메라의 변형이 변경될 때 발생합니다. @@ -211,8 +230,8 @@ namespace UVC.Factory { if (!Enable) return; // 카메라 컨트롤이 비활성화된 경우, 업데이트를 건너뜁니다. HandlePanning(); - HandleRotation(); - HandleZoom(); + if (EnabledRotation) HandleRotation(); + if (EnabledZoom) HandleZoom(); } /// @@ -407,7 +426,7 @@ namespace UVC.Factory /// 포커스할 대상의 Transform /// 대상과의 거리 /// 이동에 걸리는 시간(초), 기본값 1초 - public void FocusOnTarget(Vector3 equipmentPosition, float distance, float duration = 1.0f) + public void FocusOnTarget(Vector3 equipmentPosition, float distance, float duration = 1.0f, bool keepYRotation = true) { if (equipmentPosition == null) return; @@ -424,7 +443,7 @@ namespace UVC.Factory } // 코루틴을 사용하여 부드러운 이동 구현 - focusCoroutine = StartCoroutine(SmoothFocusOnTarget(position, distance, duration)); + focusCoroutine = StartCoroutine(SmoothFocusOnTarget(position, distance, duration, keepYRotation)); } /// @@ -452,7 +471,7 @@ namespace UVC.Factory /// /// 부드럽게 타겟까지 이동하는 코루틴 /// - private IEnumerator SmoothFocusOnTarget(Vector3 targetTransform, float distance, float duration) + private IEnumerator SmoothFocusOnTarget(Vector3 targetTransform, float distance, float duration, bool keepYRotation = true) { // 카메라가 바라볼 대상의 중심점 Vector3 targetPosition = targetTransform; @@ -467,6 +486,14 @@ namespace UVC.Factory // 최종 회전값 계산 Quaternion endRotation = Quaternion.LookRotation(targetPosition - endPosition); + + if (keepYRotation) + { + Vector3 euler = endRotation.eulerAngles; + euler.y = 0; // Y축 회전각을 0으로 설정 + endRotation = Quaternion.Euler(euler); + } + endRotation = ValidateRotation(endRotation); // 회전값 검증 및 수정 // 이동 시간 계산을 위한 변수 @@ -493,6 +520,13 @@ namespace UVC.Factory transform.position = endPosition; transform.LookAt(targetPosition); + if (keepYRotation) + { + Vector3 finalEuler = transform.eulerAngles; + finalEuler.y = 0; + transform.rotation = Quaternion.Euler(finalEuler); + } + // 회전 피봇 포인트 업데이트 rotationPivot = targetPosition; diff --git a/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentList.cs b/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentList.cs index f0df6dc6..2c6d7f66 100644 --- a/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentList.cs +++ b/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentList.cs @@ -3,11 +3,14 @@ using Gpm.Ui; using System; using System.Collections.Generic; using TMPro; +using Unity.VisualScripting; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using UVC.Core; using UVC.Factory.Component; +using UVC.UI.Commands; +using UVC.UI.Menu; using UVC.UI.Modal; using static UnityEngine.Rendering.DebugUI; @@ -44,8 +47,8 @@ namespace UVC.Factory.Modal.ComponentList } - inputField.onEndEdit.AddListener(OnInputFieldChanged); - //inputField.onSubmit.AddListener(OnInputFieldChanged); + //inputField.onEndEdit.AddListener(OnInputFieldChanged); + inputField.onSubmit.AddListener(OnInputFieldChanged); gameObject.SetActive(false); } @@ -54,8 +57,8 @@ namespace UVC.Factory.Modal.ComponentList { if (inputField != null) { - inputField.onEndEdit.RemoveListener(OnInputFieldChanged); - //inputField.onSubmit.RemoveListener(OnInputFieldChanged); + //inputField.onEndEdit.RemoveListener(OnInputFieldChanged); + inputField.onSubmit.RemoveListener(OnInputFieldChanged); } base.OnDestroy(); } @@ -71,17 +74,15 @@ namespace UVC.Factory.Modal.ComponentList Toast.Show("검색어는 3글자 이상 입력해주세요.", 2f); return; } - - Debug.Log($"Input field changed: {text}"); - + Predicate func = (data) => { if (data is ComponentListItemData itemData) { - Debug.Log($"Filtering isCategory:{itemData.isCategory}, Contains:{itemData.generalName.Contains(text)}"); - return !itemData.isCategory && itemData.generalName.Contains(text); + //원하는 조건일때 false를 반환해야 됨 + return !(!itemData.isCategory && itemData.generalName.Contains(text)); } - return false; + return true; }; scrollList.SetFilter(func); @@ -95,7 +96,7 @@ namespace UVC.Factory.Modal.ComponentList return; } - transform.SetAsFirstSibling(); + //transform.SetAsFirstSibling(); data?.Clear(); @@ -126,9 +127,22 @@ namespace UVC.Factory.Modal.ComponentList scrollList.InsertData(data.ToArray()); } + public void OnClickFilter() { Debug.Log("Filter button clicked."); + + var menuItems = new List + { + // ContextMenuItemData 생성자를 사용하여 각 메뉴 항목을 정의합니다. + // 생성자: (itemId, displayName, command, commandParameter) + new ContextMenuItemData("Menu1", "Menu1", new DebugLogCommand("Menu1 click")), + new ContextMenuItemData("Menu2", "Menu2", new DebugLogCommand("Menu2 click")), + new ContextMenuItemData("Menu3", "Menu3", new DebugLogCommand("Menu3 click")) + }; + + // 5. ContextMenuManager 싱글톤 인스턴스를 통해 메뉴를 표시합니다. + ContextMenuManager.Instance.ShowMenu(menuItems, Input.mousePosition); } @@ -144,6 +158,17 @@ namespace UVC.Factory.Modal.ComponentList public void OnClickClose() { gameObject.SetActive(false); + FactoryCameraController.Instance.Enable = true; // 카메라 컨트롤러 활성화 + } + + public void OnClickClearText() + { + if (inputField != null) + { + inputField.text = string.Empty; // 입력 필드 초기화 + inputField.ActivateInputField(); // 입력 필드에 다시 포커스 설정 + if(scrollList != null) scrollList.SetFilter(null); + } } public void OnPointerEnter(PointerEventData eventData) diff --git a/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentListItem.cs b/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentListItem.cs index a11a6cc3..ffcea38b 100644 --- a/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentListItem.cs +++ b/Assets/Scripts/UVC/Factory/Modal/ComponentList/ComponentListItem.cs @@ -137,6 +137,11 @@ namespace UVC.Factory.Modal.ComponentList if (itemData.factoryObjectInfo != null) { FactoryObject? obj = FactoryObjectManager.Instance.FindById(itemData.factoryObjectInfo.Id); + if(obj == null) + { + Toast.Show($"{itemData.factoryObjectInfo.Name} 객체를 찾을 수 없습니다.", 2f); + return; + } if (obj != null && obj.gameObject.activeSelf) { //객체로 이동 diff --git a/Assets/Scripts/UVC/Pool/ItemPool.cs b/Assets/Scripts/UVC/Pool/ItemPool.cs index afb1ad52..793e2b2a 100644 --- a/Assets/Scripts/UVC/Pool/ItemPool.cs +++ b/Assets/Scripts/UVC/Pool/ItemPool.cs @@ -254,18 +254,19 @@ namespace UVC.Pool /// /// 현재 사용 중인 모든 아이템을 풀에 반환합니다. /// + /// true일 경우, 아이템의 부모를 RecycledItemContainer로 설정합니다. /// /// /// // 스테이지가 끝날 때 모든 적을 한번에 제거(반환)합니다. /// enemyPool.ReturnAll(); /// /// - public void ReturnAll() + public void ReturnAll(bool clearParent = false) { int i, len = _activeItems.Count; for (i = 0; i < len; i++) { - ReturnItem(_activeItems[0]); + ReturnItem(_activeItems[0], clearParent); } } diff --git a/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs b/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs new file mode 100644 index 00000000..4513694e --- /dev/null +++ b/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs @@ -0,0 +1,46 @@ +#nullable enable +using System; +using UVC.UI.Commands; + +namespace UVC.UI.Menu +{ + /// + /// 컨텍스트 메뉴의 각 항목에 대한 정보를 담는 데이터 구조체입니다. + /// 인스펙터에서 메뉴 항목을 쉽게 설정할 수 있도록 Serializable 특성을 가집니다. + /// + [Serializable] + public class ContextMenuItemData + { + /// + /// 메뉴 아이템의 고유 식별자입니다. + /// + public string ItemId { get; private set; } + + /// + /// UI에 표시될 메뉴 아이템의 이름입니다. 다국어 키도 가능합니다. + /// 이 키를 사용하여 실제 표시될 텍스트를 가져옵니다. + /// + public string DisplayName { get; private set; } + + /// + /// 메뉴 아이템이 선택되었을 때 실행될 명령입니다. + /// `ICommand` 인터페이스를 구현하는 객체여야 합니다. + /// 실행할 동작이 없는 경우 null일 수 있습니다. + /// + public ICommand Command { get; private set; } + + /// + /// 실행 시 전달될 파라미터입니다. + /// 이 파라미터는 호출 시 사용됩니다. + /// + public object? CommandParameter { get; set; } + + public ContextMenuItemData(string ItemId, string DisplayName, ICommand Command, string CommandParameter = null) + { + this.ItemId = ItemId; + this.DisplayName = DisplayName; + this.Command = Command; + this.CommandParameter = CommandParameter; + } + } +} diff --git a/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs.meta b/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs.meta new file mode 100644 index 00000000..85633ce6 --- /dev/null +++ b/Assets/Scripts/UVC/UI/Menu/ContextMenuItemData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 26a2492ee29d41140ac2268b2cd2195b \ No newline at end of file diff --git a/Assets/Scripts/UVC/UI/Menu/ContextMenuManager.cs b/Assets/Scripts/UVC/UI/Menu/ContextMenuManager.cs new file mode 100644 index 00000000..8ce5e436 --- /dev/null +++ b/Assets/Scripts/UVC/UI/Menu/ContextMenuManager.cs @@ -0,0 +1,259 @@ +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.UI; +using UVC.Core; // SingletonScene을 사용하기 위함 +using UVC.Locale; +using UVC.Pool; // GameObjectPool을 사용하기 위함 + +namespace UVC.UI.Menu +{ + /// + /// 컨텍스트 메뉴의 표시와 관리를 총괄하는 싱글톤 클래스입니다. + /// SingletonScene을 상속받아 해당 씬 내에서 유일한 인스턴스를 보장합니다. + /// 이 매니저는 코드 기반으로 동적으로 메뉴를 생성하고 표시하는 데 사용됩니다. + /// + /// + /// 사용 예시: 플레이어 캐릭터를 클릭했을 때 상호작용 메뉴를 표시하는 경우 + /// + /// // 1. 메뉴 항목을 클릭했을 때 실행될 동작을 정의하는 Command 클래스를 구현합니다. + /// public class LogCommand : ICommand + /// { + /// public void Execute(object parameter) + /// { + /// if (parameter != null) + /// { + /// Debug.Log("명령 실행: " + parameter.ToString()); + /// } + /// else + /// { + /// Debug.Log("명령이 파라미터 없이 실행되었습니다."); + /// } + /// } + /// } + /// + /// // 2. 메뉴를 표시할 스크립트(예: PlayerInteraction.cs)를 작성합니다. + /// public class PlayerInteraction : MonoBehaviour + /// { + /// void Update() + /// { + /// // 이 게임 오브젝트가 마우스 오른쪽 버튼으로 클릭되면 메뉴를 표시합니다. + /// if (Input.GetMouseButtonDown(1)) + /// { + /// // Raycast 등으로 이 오브젝트가 클릭되었는지 확인하는 로직이 필요합니다. + /// // 여기서는 설명을 위해 바로 호출합니다. + /// ShowPlayerMenu(Input.mousePosition); + /// } + /// } + /// + /// public void ShowPlayerMenu(Vector2 screenPosition) + /// { + /// // 3. 메뉴에 표시할 항목 리스트를 동적으로 생성합니다. + /// var menuItems = new List + /// { + /// // ContextMenuItemData 생성자를 사용하여 각 메뉴 항목을 정의합니다. + /// // 생성자: (itemId, displayName, command, commandParameter) + /// new ContextMenuItemData("player_attack", "공격", new LogCommand(), "플레이어가 '공격'을 선택했습니다."), + /// new ContextMenuItemData("player_talk", "대화", new LogCommand(), "플레이어가 '대화'를 선택했습니다."), + /// new ContextMenuItemData("player_inspect", "조사", new LogCommand(), "플레이어가 '조사'를 선택했습니다.") + /// }; + /// + /// // 4. ContextMenuManager 싱글톤 인스턴스를 통해 메뉴를 표시합니다. + /// ContextMenuManager.Instance.ShowMenu(menuItems, screenPosition); + /// } + /// } + /// + /// 참고: + /// - `ContextMenuTrigger` 컴포넌트를 사용하면 Inspector에서 정적으로 메뉴를 설정할 수도 있습니다. + /// - `DisplayName`에는 다국어 처리를 위한 키 값을 사용할 수 있습니다. (예: "menu_attack") + /// + public class ContextMenuManager : SingletonScene + { + [Header("프리팹 설정")] + [SerializeField] + [Tooltip("컨텍스트 메뉴의 배경이 되는 Panel 프리팹입니다.")] + private GameObject contextMenuPrefab; + + [SerializeField] + [Tooltip("컨텍스트 메뉴의 각 항목으로 사용될 Button 프리팹입니다.")] + private GameObject contextMenuItemPrefab; + + [Header("캔버스 설정")] + [SerializeField] + [Tooltip("UI가 그려질 최상위 Canvas입니다. 메뉴가 다른 UI 위에 그려지도록 합니다.")] + private Canvas mainCanvas; + + // 현재 활성화된 컨텍스트 메뉴의 RectTransform + private RectTransform _activeMenuRect; + // 메뉴 항목들을 담을 부모 객체 + private Transform _menuItemContainer; + + // 메뉴 항목 버튼들을 관리하기 위한 오브젝트 풀 + private ItemPool