From 5e042fd5f6ace5caa22f9a7175bcc2d7ebf313f2 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 00:05:18 +0900 Subject: [PATCH 01/21] =?UTF-8?q?feat:=20=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E3=81=AE=E9=81=B8=E6=8A=9E=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=82=92=E9=96=8B=E3=81=8F=E5=87=A6=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/Dialog/SelectModelDialog.prefab | 363 ++++++++++++++++++ .../UI/Dialog/SelectModelDialog.prefab.meta | 7 + .../UI/Dialog/TabletMenuDialog.prefab | 32 +- .../Scripts/Common/Constant.DialogName.cs | 5 + .../Scripts/Dialogue/SelectModelDialog.cs | 10 + .../Dialogue/SelectModelDialog.cs.meta | 3 + .../uDesktopMascot/Scripts/Menu/MenuDialog.cs | 17 +- .../Scripts/Menu/MenuPresenter.cs | 5 - 8 files changed, 428 insertions(+), 14 deletions(-) create mode 100644 Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab create mode 100644 Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab.meta create mode 100644 Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs create mode 100644 Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab new file mode 100644 index 00000000..d2f2fa9c --- /dev/null +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab @@ -0,0 +1,363 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &597809613186944653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6176751824365673} + - component: {fileID: 5513344101580430340} + - component: {fileID: 8360342144671338539} + - component: {fileID: 7178809285730366222} + - component: {fileID: 6917943724112557523} + - component: {fileID: 4986057421867837433} + m_Layer: 5 + m_Name: SelectModelDialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6176751824365673 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + 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: 1 + m_Children: + - {fileID: 8677491949241970153} + 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!223 &5513344101580430340 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &8360342144671338539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 300, y: 400} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &7178809285730366222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 3 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 51 +--- !u!225 &6917943724112557523 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4986057421867837433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597809613186944653} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 779c9b0de9c44fffbb2195e538732aec, type: 3} + m_Name: + m_EditorClassIdentifier: + closeButton: {fileID: 5849125722573429082} +--- !u!1 &2992976885509807405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3912126287803504759} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3912126287803504759 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2992976885509807405} + 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: 1 + m_Children: + - {fileID: 3771116364324596167} + m_Father: {fileID: 8677491949241970153} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 25} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &4941295098813808956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3771116364324596167} + - component: {fileID: 4249368379936409733} + - component: {fileID: 2071001624229714816} + - component: {fileID: 5849125722573429082} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3771116364324596167 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 1 + m_Children: [] + m_Father: {fileID: 3912126287803504759} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 1, y: 1} +--- !u!222 &4249368379936409733 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + m_CullTransparentMesh: 1 +--- !u!114 &2071001624229714816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 5e1027c3ad2b94b47b68a8577784aef1, 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 &5849125722573429082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 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: 2071001624229714816} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6261024293022658861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8677491949241970153} + - component: {fileID: 2038467865358868612} + - component: {fileID: 3825194714244919165} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8677491949241970153 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + 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: 1 + m_Children: + - {fileID: 3912126287803504759} + m_Father: {fileID: 6176751824365673} + 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: 300, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2038467865358868612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + m_CullTransparentMesh: 1 +--- !u!114 &3825194714244919165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + 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: 0.8549965, b: 0.6084906, 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: dfa4e4e0aee0aeb4187bd67c0ffd1627, type: 3} + 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 diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab.meta b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab.meta new file mode 100644 index 00000000..6b523183 --- /dev/null +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 94a80ad14c747e34e86656c93692640f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/TabletMenuDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/TabletMenuDialog.prefab index a242e6de..76ca809c 100644 --- a/Assets/uDesktopMascot/Resources/UI/Dialog/TabletMenuDialog.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/TabletMenuDialog.prefab @@ -742,6 +742,10 @@ PrefabInstance: propertyPath: m_Name value: Alarm objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -985,6 +989,10 @@ PrefabInstance: propertyPath: m_Name value: Camera objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -1199,7 +1207,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 648360911962570205, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Enabled - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 648360911962570205, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_fontSize @@ -1209,6 +1217,10 @@ PrefabInstance: propertyPath: m_Name value: SelectModel objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -1291,7 +1303,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7075264929463694279, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Interactable - value: 0 + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] @@ -1330,6 +1342,10 @@ PrefabInstance: propertyPath: m_Name value: Achievements objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -1820,6 +1836,10 @@ PrefabInstance: propertyPath: m_Name value: Call objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -1930,6 +1950,10 @@ PrefabInstance: propertyPath: m_Name value: Trump objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -2040,6 +2064,10 @@ PrefabInstance: propertyPath: m_Name value: Game objectReference: {fileID: 0} + - target: {fileID: 3452299637799663405, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4791987971422063645, guid: 70f01b9cfb37a80488367e9195bb3326, type: 3} propertyPath: m_Pivot.x value: 0.5 diff --git a/Assets/uDesktopMascot/Scripts/Common/Constant.DialogName.cs b/Assets/uDesktopMascot/Scripts/Common/Constant.DialogName.cs index 7fde4ac1..1757032c 100644 --- a/Assets/uDesktopMascot/Scripts/Common/Constant.DialogName.cs +++ b/Assets/uDesktopMascot/Scripts/Common/Constant.DialogName.cs @@ -19,5 +19,10 @@ public partial class Constant /// AIチャットダイアログ /// public const string AIChatDialog = "AIChatDialog"; + + /// + /// モデルの追加と選択ダイアログ + /// + public const string SelectModelDialog = "SelectModelDialog"; } } \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs new file mode 100644 index 00000000..a1fa1994 --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs @@ -0,0 +1,10 @@ +namespace uDesktopMascot +{ + /// + /// モデルの追加と選択ダイアログ + /// + public class SelectModelDialog : DialogBase + { + + } +} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta b/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta new file mode 100644 index 00000000..8343bb35 --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 779c9b0de9c44fffbb2195e538732aec +timeCreated: 1738853850 \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/Menu/MenuDialog.cs b/Assets/uDesktopMascot/Scripts/Menu/MenuDialog.cs index 23159085..c6035983 100644 --- a/Assets/uDesktopMascot/Scripts/Menu/MenuDialog.cs +++ b/Assets/uDesktopMascot/Scripts/Menu/MenuDialog.cs @@ -58,11 +58,6 @@ public class MenuDialog : DialogBase /// public Action OnHelpAction { get; set; } - /// - /// モデル設定ボタンのクリックイベント - /// - public Action OnModelSettingAction { get; set; } - /// /// アプリケーション設定ボタンのクリックイベント /// @@ -93,12 +88,20 @@ private protected override void Awake() private void SetButtonEvent() { helpButton.onClick.AddListener(() => OnHelpAction?.Invoke()); - modelSettingButton.onClick.AddListener(() => OnModelSettingAction?.Invoke()); - appSettingButton.onClick.AddListener(() => OnAppSettingAction?.Invoke()); + modelSettingButton.onClick.AddListener(OnSelectModelAction); + appSettingButton.onClick.AddListener( () => OnAppSettingAction?.Invoke()); quitButton.onClick.AddListener(() => OnCloseAction?.Invoke()); webUIButton.onClick.AddListener(() => OnWebUIAction?.Invoke()); aiChatButton.onClick.AddListener(OnAiChatAction); } + + /// + /// モデル選択画面を開く + /// + private void OnSelectModelAction() + { + UIManager.Instance.PushDialog(Constant.SelectModelDialog); + } /// /// AIチャット機能を開く diff --git a/Assets/uDesktopMascot/Scripts/Menu/MenuPresenter.cs b/Assets/uDesktopMascot/Scripts/Menu/MenuPresenter.cs index 472c3a0a..251993cc 100644 --- a/Assets/uDesktopMascot/Scripts/Menu/MenuPresenter.cs +++ b/Assets/uDesktopMascot/Scripts/Menu/MenuPresenter.cs @@ -46,10 +46,6 @@ public MenuPresenter(MenuDialog menuDialog) _cancellationTokenSource = new CancellationTokenSource(); menuDialog.OnHelpAction = OpenHelp; - menuDialog.OnModelSettingAction = () => - { - Log.Debug("Open Model Setting"); - }; menuDialog.OnAppSettingAction = OpenAppSetting; menuDialog.OnWebUIAction = OpenWebUI; menuDialog.OnCloseAction = CloseApp; @@ -320,7 +316,6 @@ public void Dispose() #endif _menuDialog.OnHelpAction = null; - _menuDialog.OnModelSettingAction = null; _menuDialog.OnAppSettingAction = null; _menuDialog.OnCloseAction = null; From 3c356021ad9518ea4a4569ef3d1f69dc32deb1ef Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 00:31:16 +0900 Subject: [PATCH 02/21] =?UTF-8?q?feat:=20=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E9=81=B8=E6=8A=9E=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD=E3=82=B0?= =?UTF-8?q?UI=E3=81=AE=E4=BD=9C=E6=88=90=E3=81=A8Localize=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LocalizationTable Shared Data.asset | 12 + .../LocalizationTable/LocalizationTable.csv | 3 + .../LocalizationTable_ja.asset | 12 + .../uDesktopMascot/Resources/UI/Common.meta | 8 + .../Resources/UI/Common/ModelInfo.prefab | 113 + .../Resources/UI/Common/ModelInfo.prefab.meta | 7 + .../UI/Dialog/SelectModelDialog.prefab | 2422 ++++++++++++++++- 7 files changed, 2519 insertions(+), 58 deletions(-) create mode 100644 Assets/uDesktopMascot/Resources/UI/Common.meta create mode 100644 Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab create mode 100644 Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab.meta diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset index 9e67d93b..9d2dd85c 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset @@ -55,6 +55,18 @@ MonoBehaviour: m_Key: WORD_WEB_UI_BUTTON m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Key: WORD_ADD_BUTTON + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Key: WORD_ADD_MODEL_PATH_PLACEHOLDER + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Key: WORD_ADD_DRAG_MODEL + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 160b8c10..97166b5e 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -9,3 +9,6 @@ Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_SEND_MESSAGE_BUTTON_TEXT",4547369455259648,"Send","Envoi","Invio","送信","전송" "WORD_AI_CHAT",4599798494334976,"Chat","Chat","Chat","チャット","챗봇" "WORD_WEB_UI_BUTTON",4600571496173568,"Web UI","Interface utilisateur web","Interfaccia web","ウェブUI","웹 UI" +"WORD_ADD_BUTTON",5073601682935808,,,,"追加", +"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,,,,"追加するモデルのパス", +"WORD_ADD_DRAG_MODEL",5075115772153856,,,,"VRMモデルをドラッグで追加", \ No newline at end of file diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset index 33ddce08..c238628a 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset @@ -58,6 +58,18 @@ MonoBehaviour: m_Localized: "\u30A6\u30A7\u30D6UI" m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Localized: "\u8FFD\u52A0" + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Localized: "\u8FFD\u52A0\u3059\u308B\u30E2\u30C7\u30EB\u306E\u30D1\u30B9" + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Localized: "VRM\u30E2\u30C7\u30EB\u3092\u30C9\u30E9\u30C3\u30B0\u3067\u8FFD\u52A0" + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] diff --git a/Assets/uDesktopMascot/Resources/UI/Common.meta b/Assets/uDesktopMascot/Resources/UI/Common.meta new file mode 100644 index 00000000..3b961f72 --- /dev/null +++ b/Assets/uDesktopMascot/Resources/UI/Common.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1548e5c2e1b588a4384ba195ef740d9e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab new file mode 100644 index 00000000..faa5bab2 --- /dev/null +++ b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab @@ -0,0 +1,113 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1700041997186880398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7669942176010810646} + - component: {fileID: 5536321295932544455} + - component: {fileID: 7614120652971775824} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7669942176010810646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700041997186880398} + 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: 1 + m_Children: [] + m_Father: {fileID: 6602453644575945564} + 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 &5536321295932544455 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700041997186880398} + m_CullTransparentMesh: 1 +--- !u!114 &7614120652971775824 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1700041997186880398} + 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.5707547, g: 0.9818946, b: 1, a: 0.43137255} + 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: 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!1 &7133228653244461086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6602453644575945564} + m_Layer: 5 + m_Name: ModelInfo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6602453644575945564 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7133228653244461086} + 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: 1 + m_Children: + - {fileID: 7669942176010810646} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 100} + m_Pivot: {x: 0.5, y: 0} diff --git a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab.meta b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab.meta new file mode 100644 index 00000000..2cadd8ab --- /dev/null +++ b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 562b5df59b5e16c45b3b2f1a6bf62482 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab index d2f2fa9c..d92d0f42 100644 --- a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab @@ -1,5 +1,73 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &141527441175464300 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7219237691741173517} + - component: {fileID: 2822463023486321361} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7219237691741173517 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141527441175464300} + 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: 1 + m_Children: + - {fileID: 1450163069113406229} + - {fileID: 6614520492855573808} + - {fileID: 1039536092157181483} + - {fileID: 6376979929005036974} + - {fileID: 2574355226709008149} + - {fileID: 8135996246676636246} + m_Father: {fileID: 6712330694102887196} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!114 &2822463023486321361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141527441175464300} + 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: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &597809613186944653 GameObject: m_ObjectHideFlags: 0 @@ -129,7 +197,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: closeButton: {fileID: 5849125722573429082} ---- !u!1 &2992976885509807405 +--- !u!1 &989239730487369372 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -137,35 +205,176 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3912126287803504759} + - component: {fileID: 2626221156522416171} + - component: {fileID: 2171909573884134118} + - component: {fileID: 4491327215415689903} + - component: {fileID: 6024942598944204984} m_Layer: 5 - m_Name: Header + m_Name: Text (TMP) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &3912126287803504759 +--- !u!224 &2626221156522416171 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2992976885509807405} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 989239730487369372} + 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: 1 - m_Children: - - {fileID: 3771116364324596167} - m_Father: {fileID: 8677491949241970153} + m_Children: [] + m_Father: {fileID: 7806914258719165468} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} + m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -10} - m_SizeDelta: {x: 0, y: 25} - m_Pivot: {x: 0.5, y: 1} ---- !u!1 &4941295098813808956 + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2171909573884134118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989239730487369372} + m_CullTransparentMesh: 1 +--- !u!114 &4491327215415689903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989239730487369372} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 21 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 3 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + 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_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!114 &6024942598944204984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 989239730487369372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56eb0353ae6e5124bb35b17aff880f16, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StringReference: + m_TableReference: + m_TableCollectionName: GUID:e0bc4458d73676a429c1b840d5dbc577 + m_TableEntryReference: + m_KeyId: 5075115772153856 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_FormatArguments: [] + m_UpdateString: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 4491327215415689903} + m_TargetAssemblyTypeName: TMPro.TMP_Text, Unity.TextMeshPro + m_MethodName: set_text + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + references: + version: 2 + RefIds: [] +--- !u!1 &1748839091074414027 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -173,51 +382,160 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3771116364324596167} - - component: {fileID: 4249368379936409733} - - component: {fileID: 2071001624229714816} - - component: {fileID: 5849125722573429082} + - component: {fileID: 624152497545794938} + - component: {fileID: 1002472177158910905} + - component: {fileID: 240202289313092512} + - component: {fileID: 7415309803780966053} m_Layer: 5 - m_Name: CloseButton + m_Name: Scroll View m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &3771116364324596167 +--- !u!224 &624152497545794938 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4941295098813808956} + m_GameObject: {fileID: 1748839091074414027} 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: 1 - m_Children: [] - m_Father: {fileID: 3912126287803504759} + m_Children: + - {fileID: 6712330694102887196} + - {fileID: 4491620995600225831} + m_Father: {fileID: 8253464402345922966} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} + m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -5, y: 0} - m_SizeDelta: {x: 25, y: 25} - m_Pivot: {x: 1, y: 1} ---- !u!222 &4249368379936409733 + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1002472177158910905 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4941295098813808956} + m_GameObject: {fileID: 1748839091074414027} m_CullTransparentMesh: 1 ---- !u!114 &2071001624229714816 +--- !u!114 &240202289313092512 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4941295098813808956} + m_GameObject: {fileID: 1748839091074414027} + 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: 0.392} + 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: 10907, 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 &7415309803780966053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748839091074414027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 7219237691741173517} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 6712330694102887196} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 448582319720708972} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1970214976708392516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2478310119011935285} + - component: {fileID: 677478155438201908} + - component: {fileID: 8851668657363576093} + - component: {fileID: 6472723346624349732} + m_Layer: 5 + m_Name: AddModelPath + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2478310119011935285 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970214976708392516} + 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: 1 + m_Children: + - {fileID: 8468455173986192046} + m_Father: {fileID: 655350030915661122} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 5, y: 5} + m_SizeDelta: {x: 237.3269, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!222 &677478155438201908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970214976708392516} + m_CullTransparentMesh: 1 +--- !u!114 &8851668657363576093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970214976708392516} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -231,8 +549,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 5e1027c3ad2b94b47b68a8577784aef1, type: 3} - m_Type: 0 + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -241,16 +559,16 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &5849125722573429082 +--- !u!114 &6472723346624349732 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4941295098813808956} + m_GameObject: {fileID: 1970214976708392516} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: @@ -281,11 +599,68 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 2071001624229714816} - m_OnClick: + m_TargetGraphic: {fileID: 8851668657363576093} + m_TextViewport: {fileID: 8468455173986192046} + m_TextComponent: {fileID: 407589986733095940} + m_Placeholder: {fileID: 3635090920399094263} + 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: [] ---- !u!1 &6261024293022658861 + 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: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_KeepTextSelectionVisible: 0 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + isAlert: 0 + m_InputValidator: {fileID: 0} + m_ShouldActivateOnSelect: 1 +--- !u!1 &2945143996985144692 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -293,65 +668,66 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 8677491949241970153} - - component: {fileID: 2038467865358868612} - - component: {fileID: 3825194714244919165} + - component: {fileID: 6712330694102887196} + - component: {fileID: 4539434902388710016} + - component: {fileID: 5748339606439807557} + - component: {fileID: 5072008933039521942} m_Layer: 5 - m_Name: Background + m_Name: Viewport m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &8677491949241970153 +--- !u!224 &6712330694102887196 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6261024293022658861} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 2945143996985144692} + 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: 1 m_Children: - - {fileID: 3912126287803504759} - m_Father: {fileID: 6176751824365673} + - {fileID: 7219237691741173517} + m_Father: {fileID: 624152497545794938} 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_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 300, y: 500} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2038467865358868612 + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &4539434902388710016 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6261024293022658861} + m_GameObject: {fileID: 2945143996985144692} m_CullTransparentMesh: 1 ---- !u!114 &3825194714244919165 +--- !u!114 &5748339606439807557 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6261024293022658861} + m_GameObject: {fileID: 2945143996985144692} 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: 0.8549965, b: 0.6084906, a: 1} + 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: dfa4e4e0aee0aeb4187bd67c0ffd1627, type: 3} + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -361,3 +737,1933 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &5072008933039521942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2945143996985144692} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &2992976885509807405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3912126287803504759} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3912126287803504759 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2992976885509807405} + 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: 1 + m_Children: + - {fileID: 3771116364324596167} + m_Father: {fileID: 8677491949241970153} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: 0, y: 25} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &3410850782637743931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4954468787562871857} + - component: {fileID: 4904695241595379816} + - component: {fileID: 5522810079230692176} + - component: {fileID: 9106721781355127440} + 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 &4954468787562871857 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3410850782637743931} + 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: 1 + m_Children: [] + m_Father: {fileID: 3758179776157591986} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4904695241595379816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3410850782637743931} + m_CullTransparentMesh: 1 +--- !u!114 &5522810079230692176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3410850782637743931} + 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: Button + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 16.3 + m_fontSizeBase: 16.3 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + 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_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!114 &9106721781355127440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3410850782637743931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56eb0353ae6e5124bb35b17aff880f16, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StringReference: + m_TableReference: + m_TableCollectionName: GUID:e0bc4458d73676a429c1b840d5dbc577 + m_TableEntryReference: + m_KeyId: 5073601682935808 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_FormatArguments: [] + m_UpdateString: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5522810079230692176} + m_TargetAssemblyTypeName: TMPro.TMP_Text, Unity.TextMeshPro + m_MethodName: set_text + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + references: + version: 2 + RefIds: [] +--- !u!1 &3664823745733444370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2886910471430566732} + - component: {fileID: 7600123290979173043} + - component: {fileID: 407589986733095940} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2886910471430566732 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3664823745733444370} + 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: 1 + m_Children: [] + m_Father: {fileID: 8468455173986192046} + 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 &7600123290979173043 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3664823745733444370} + m_CullTransparentMesh: 1 +--- !u!114 &407589986733095940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3664823745733444370} + 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: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + 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_TextWrappingMode: 3 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 1 + 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 &4429222640159227320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8468455173986192046} + - component: {fileID: 7648386373145171235} + 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 &8468455173986192046 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4429222640159227320} + 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: 1 + m_Children: + - {fileID: 8170520537868271265} + - {fileID: 2886910471430566732} + m_Father: {fileID: 2478310119011935285} + 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 &7648386373145171235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4429222640159227320} + 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 &4820288339342183213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4491620995600225831} + - component: {fileID: 2173711016875137516} + - component: {fileID: 4105395809586815914} + - component: {fileID: 448582319720708972} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4491620995600225831 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4820288339342183213} + 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: 1 + m_Children: + - {fileID: 3124401944828634975} + m_Father: {fileID: 624152497545794938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: -17} + m_Pivot: {x: 1, y: 1} +--- !u!222 &2173711016875137516 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4820288339342183213} + m_CullTransparentMesh: 1 +--- !u!114 &4105395809586815914 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4820288339342183213} + 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: 10907, 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 &448582319720708972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4820288339342183213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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: 4938896768314717319} + m_HandleRect: {fileID: 8829334285660995281} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4941295098813808956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3771116364324596167} + - component: {fileID: 4249368379936409733} + - component: {fileID: 2071001624229714816} + - component: {fileID: 5849125722573429082} + m_Layer: 5 + m_Name: CloseButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3771116364324596167 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 1 + m_Children: [] + m_Father: {fileID: 3912126287803504759} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 1, y: 1} +--- !u!222 &4249368379936409733 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + m_CullTransparentMesh: 1 +--- !u!114 &2071001624229714816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 5e1027c3ad2b94b47b68a8577784aef1, 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 &5849125722573429082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4941295098813808956} + 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: 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: 2071001624229714816} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5273489851282819176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3124401944828634975} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3124401944828634975 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5273489851282819176} + 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: 1 + m_Children: + - {fileID: 8829334285660995281} + m_Father: {fileID: 4491620995600225831} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5332497817953742117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7806914258719165468} + - component: {fileID: 151767298633268846} + - component: {fileID: 203059713687307857} + m_Layer: 5 + m_Name: AddDragModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7806914258719165468 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5332497817953742117} + 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: 1 + m_Children: + - {fileID: 2626221156522416171} + m_Father: {fileID: 655350030915661122} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 52.076} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &151767298633268846 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5332497817953742117} + m_CullTransparentMesh: 1 +--- !u!114 &203059713687307857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5332497817953742117} + 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.254717, g: 0.1302928, b: 0, a: 0.50980395} + 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: 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!1 &6261024293022658861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8677491949241970153} + - component: {fileID: 2038467865358868612} + - component: {fileID: 3825194714244919165} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8677491949241970153 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + 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: 1 + m_Children: + - {fileID: 3912126287803504759} + - {fileID: 8253464402345922966} + - {fileID: 655350030915661122} + m_Father: {fileID: 6176751824365673} + 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: 300, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2038467865358868612 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + m_CullTransparentMesh: 1 +--- !u!114 &3825194714244919165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6261024293022658861} + 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: 0.8549965, b: 0.6084906, 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: dfa4e4e0aee0aeb4187bd67c0ffd1627, type: 3} + 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!1 &7569382165667351032 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8829334285660995281} + - component: {fileID: 8357549203827598710} + - component: {fileID: 4938896768314717319} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8829334285660995281 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7569382165667351032} + 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: 1 + m_Children: [] + m_Father: {fileID: 3124401944828634975} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8357549203827598710 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7569382165667351032} + m_CullTransparentMesh: 1 +--- !u!114 &4938896768314717319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7569382165667351032} + 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: 10905, 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!1 &7592510649635312788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 655350030915661122} + m_Layer: 5 + m_Name: Footer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &655350030915661122 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7592510649635312788} + 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: 1 + m_Children: + - {fileID: 7806914258719165468} + - {fileID: 3758179776157591986} + - {fileID: 2478310119011935285} + m_Father: {fileID: 8677491949241970153} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 87.076} + m_Pivot: {x: 0.5, y: 0} +--- !u!1 &7606385198056151632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3758179776157591986} + - component: {fileID: 3173593261660405258} + - component: {fileID: 5160518466044742348} + - component: {fileID: 8354992549510832687} + m_Layer: 5 + m_Name: AddModelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3758179776157591986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7606385198056151632} + 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: 1 + m_Children: + - {fileID: 4954468787562871857} + m_Father: {fileID: 655350030915661122} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -5, y: 5} + m_SizeDelta: {x: 50, y: 30} + m_Pivot: {x: 1, y: 0} +--- !u!222 &3173593261660405258 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7606385198056151632} + m_CullTransparentMesh: 1 +--- !u!114 &5160518466044742348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7606385198056151632} + 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: 10905, 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 &8354992549510832687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7606385198056151632} + 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: 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: 5160518466044742348} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8531773350676928432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8170520537868271265} + - component: {fileID: 1160140412083872682} + - component: {fileID: 3635090920399094263} + - component: {fileID: 7046504183594226008} + - component: {fileID: 2085481415572081245} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8170520537868271265 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8531773350676928432} + 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: 1 + m_Children: [] + m_Father: {fileID: 8468455173986192046} + 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 &1160140412083872682 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8531773350676928432} + m_CullTransparentMesh: 1 +--- !u!114 &3635090920399094263 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8531773350676928432} + 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: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 11.7 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 3 + m_fontSizeMax: 72 + m_fontStyle: 3 + 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_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 1 + 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!114 &7046504183594226008 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8531773350676928432} + 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 &2085481415572081245 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8531773350676928432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56eb0353ae6e5124bb35b17aff880f16, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StringReference: + m_TableReference: + m_TableCollectionName: GUID:e0bc4458d73676a429c1b840d5dbc577 + m_TableEntryReference: + m_KeyId: 5074280786890752 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_FormatArguments: [] + m_UpdateString: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3635090920399094263} + m_TargetAssemblyTypeName: TMPro.TMP_Text, Unity.TextMeshPro + m_MethodName: set_text + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + references: + version: 2 + RefIds: [] +--- !u!1 &8920519597367332187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8253464402345922966} + m_Layer: 5 + m_Name: Contents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8253464402345922966 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8920519597367332187} + 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: 1 + m_Children: + - {fileID: 624152497545794938} + m_Father: {fileID: 8677491949241970153} + 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: 26.038} + m_SizeDelta: {x: 0, y: -122.08} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &30363890090774124 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo_1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &6614520492855573808 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 30363890090774124} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &279001001238374130 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo_3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &6376979929005036974 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 279001001238374130} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3118881147878912266 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo_5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &8135996246676636246 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 3118881147878912266} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5728758199982202953 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &1450163069113406229 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 5728758199982202953} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &6182751841027575159 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo_2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &1039536092157181483 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 6182751841027575159} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8654039331180620873 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7219237691741173517} + m_Modifications: + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.x + value: 284 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + propertyPath: m_Name + value: ModelInfo_4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} +--- !u!224 &2574355226709008149 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + m_PrefabInstance: {fileID: 8654039331180620873} + m_PrefabAsset: {fileID: 0} From 622fee9b76b8b24d8f1c9ad86dd069a09d3ea8e6 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 6 Feb 2025 15:32:15 +0000 Subject: [PATCH 03/21] =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88GitHub=20Actions=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uDesktopMascot/LocalizationTable/LocalizationTable.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 97166b5e..1826924e 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -9,6 +9,6 @@ Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_SEND_MESSAGE_BUTTON_TEXT",4547369455259648,"Send","Envoi","Invio","送信","전송" "WORD_AI_CHAT",4599798494334976,"Chat","Chat","Chat","チャット","챗봇" "WORD_WEB_UI_BUTTON",4600571496173568,"Web UI","Interface utilisateur web","Interfaccia web","ウェブUI","웹 UI" -"WORD_ADD_BUTTON",5073601682935808,,,,"追加", -"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,,,,"追加するモデルのパス", -"WORD_ADD_DRAG_MODEL",5075115772153856,,,,"VRMモデルをドラッグで追加", \ No newline at end of file +"WORD_ADD_BUTTON",5073601682935808,"Addition","ajout","Aggiunta","追加","추가" +"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"Path to add the model","Chemin du modèle à ajouter","Percorso del modello da aggiungere","追加するモデルのパス","추가할 모델의 경로" +"WORD_ADD_DRAG_MODEL",5075115772153856,"Add VRM model by dragging.","Ajoutez un modèle VRM en le faisant glisser.","Aggiungi il modello VRM tramite trascinamento.","VRMモデルをドラッグで追加","VRM 모델을 드래그로 추가" From 5938bd7adbc5b0765be5bb1728cfa40f65f441fb Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 00:57:34 +0900 Subject: [PATCH 04/21] =?UTF-8?q?feat:=20Localization=20Tables=E3=82=92?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E3=81=97=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AB?= =?UTF-8?q?csv=E3=82=92=E8=87=AA=E5=8B=95=E3=81=A7=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E3=81=99=E3=82=8BEditor=E5=87=A6=E7=90=86=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/LocalizationTableSaveProcessor.cs | 178 ++++++++++++++++++ .../LocalizationTableSaveProcessor.cs.meta | 3 + 2 files changed, 181 insertions(+) create mode 100644 Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs create mode 100644 Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs.meta diff --git a/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs b/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs new file mode 100644 index 00000000..89366766 --- /dev/null +++ b/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs @@ -0,0 +1,178 @@ +using UnityEditor; +using UnityEngine; +using UnityEngine.Localization.Tables; +using UnityEditor.Localization; +using System.IO; +using System.Text; +using System.Collections.Generic; +using System.Globalization; + +namespace uDesktopMascot.Editor +{ + /// + /// ローカリゼーションテーブルをセーブ時に自動でCSVにエクスポートする処理 + /// + public class LocalizationTableSaveProcessor : AssetModificationProcessor + { + /// + /// アセットが保存される直前に呼び出されるコールバック。 + /// 保存されるアセットがローカリゼーションテーブルである場合、CSVエクスポートを行います。 + /// + /// 保存されるアセットのパスの配列 + /// 保存されるアセットのパスの配列 + private static string[] OnWillSaveAssets(string[] paths) + { + // 保存されるアセットパスをループ + foreach (var path in paths) + { + // アセットがローカリゼーションテーブルかどうかを確認 + var asset = AssetDatabase.LoadAssetAtPath(path); + if (asset is StringTable stringTable) + { + // CSVエクスポートの処理を実行 + ExportStringTableToCSV(stringTable); + } + } + return paths; + } + + /// + /// 指定されたStringTableを含むテーブルコレクションをCSVにエクスポートします。 + /// + /// エクスポートするStringTable + private static void ExportStringTableToCSV(StringTable stringTable) + { + // テーブルコレクションを取得 + var tableCollection = LocalizationEditorSettings.GetCollectionFromTable(stringTable) as StringTableCollection; + if (tableCollection == null) + { + Debug.LogError($"テーブルコレクションが見つかりませんでした:{stringTable.TableCollectionName}"); + return; + } + + // エクスポート先のパスを設定 + var exportPath = "Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv"; + var exportDirectory = Path.GetDirectoryName(exportPath); + if (!Directory.Exists(exportDirectory)) + { + Directory.CreateDirectory(exportDirectory); + } + + // CSVデータを生成 + var csvData = GenerateCSVData(tableCollection); + + // CSVファイルを書き出し(既に存在する場合は上書き) + File.WriteAllText(exportPath, csvData, Encoding.UTF8); + + Debug.Log($"CSVエクスポートが完了しました:{exportPath}"); + } + + /// + /// テーブルコレクションのデータからCSV形式の文字列を生成します。 + /// + /// CSVデータを生成するStringTableCollection + /// 生成されたCSV形式の文字列 + private static string GenerateCSVData(StringTableCollection tableCollection) + { + var sb = new StringBuilder(); + + // ヘッダーを追加(ダブルクォーテーションなし) + sb.Append("Key,Id"); + // 言語カラムの順序を元のCSVと同じにする + var localeCodes = new List(); + foreach (var localeCode in new[] { "en", "fr", "it", "ja", "ko" }) + { + var table = tableCollection.GetTable(localeCode); + if (table != null) + { + localeCodes.Add(localeCode); + var languageName = GetLanguageName(localeCode); + sb.Append($",{languageName}({localeCode})"); + } + } + sb.AppendLine(); + + // エントリを取得 + var sharedData = tableCollection.SharedData; + foreach (var sharedEntry in sharedData.Entries) + { + // Keyフィールドをダブルクォーテーションで囲む + var key = EscapeCSVField(sharedEntry.Key); + + // Idフィールドはそのまま(ダブルクォーテーションなし) + var id = sharedEntry.Id.ToString(); + + sb.Append($"{key},{id}"); + + foreach (var localeCode in localeCodes) + { + var table = tableCollection.GetTable(localeCode) as StringTable; + if (table != null) + { + var entry = table.GetEntry(sharedEntry.Id); + if (entry != null) + { + // ローカライズされた値をダブルクォーテーションで囲む + var localizedValue = EscapeCSVField(entry.LocalizedValue); + sb.Append($",{localizedValue}"); + } + else + { + // 空の値でもダブルクォーテーションを付ける + sb.Append($",\"\""); + } + } + else + { + // テーブルが存在しない場合もダブルクォーテーション付きの空文字を追加 + sb.Append($",\"\""); + } + } + sb.AppendLine(); + } + + return sb.ToString(); + } + + /// + /// CSVフィールドをダブルクォーテーションで囲み、内部のダブルクォーテーションをエスケープします。 + /// + /// エスケープするフィールドの文字列 + /// ダブルクォーテーションで囲まれた、エスケープ処理された文字列 + private static string EscapeCSVField(string field) + { + if (string.IsNullOrEmpty(field)) + { + return "\"\""; + } + + // ダブルクォーテーションをエスケープ + if (field.Contains("\"")) + { + field = field.Replace("\"", "\"\""); + } + + // フィールドをダブルクォーテーションで囲む + return $"\"{field}\""; + } + + /// + /// ロケールコードから言語名を取得します。 + /// + /// ロケールコード(例:"en") + /// 言語名(例:"English") + private static string GetLanguageName(string localeCode) + { + try + { + var culture = new CultureInfo(localeCode); + return culture.EnglishName; + } + catch + { + // ロケールコードが認識されない場合はそのまま返す + return localeCode; + } + } + } +} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs.meta b/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs.meta new file mode 100644 index 00000000..65883434 --- /dev/null +++ b/Assets/uDesktopMascot/Editor/LocalizationTableSaveProcessor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 390e3e01c054431b8c489a09228ad52b +timeCreated: 1738855922 \ No newline at end of file From e0f81412eac5291768c810a78fcd01cafd0dc2ed Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 00:57:46 +0900 Subject: [PATCH 05/21] =?UTF-8?q?fix:=20Localize=E3=83=86=E3=82=AD?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LocalizationTable/LocalizationTable.csv | 8 ++++---- .../LocalizationTable/LocalizationTable_ja.asset | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 1826924e..ce80b9fe 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" @@ -9,6 +9,6 @@ Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_SEND_MESSAGE_BUTTON_TEXT",4547369455259648,"Send","Envoi","Invio","送信","전송" "WORD_AI_CHAT",4599798494334976,"Chat","Chat","Chat","チャット","챗봇" "WORD_WEB_UI_BUTTON",4600571496173568,"Web UI","Interface utilisateur web","Interfaccia web","ウェブUI","웹 UI" -"WORD_ADD_BUTTON",5073601682935808,"Addition","ajout","Aggiunta","追加","추가" -"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"Path to add the model","Chemin du modèle à ajouter","Percorso del modello da aggiungere","追加するモデルのパス","추가할 모델의 경로" -"WORD_ADD_DRAG_MODEL",5075115772153856,"Add VRM model by dragging.","Ajoutez un modèle VRM en le faisant glisser.","Aggiungi il modello VRM tramite trascinamento.","VRMモデルをドラッグで追加","VRM 모델을 드래그로 추가" +"WORD_ADD_BUTTON",5073601682935808,"","","","追加","" +"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"","","","追加するモデルのパス","" +"WORD_ADD_DRAG_MODEL",5075115772153856,"","","","ドラッグでVRMモデルを追加","" diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset index c238628a..514c618a 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset @@ -67,7 +67,7 @@ MonoBehaviour: m_Metadata: m_Items: [] - m_Id: 5075115772153856 - m_Localized: "VRM\u30E2\u30C7\u30EB\u3092\u30C9\u30E9\u30C3\u30B0\u3067\u8FFD\u52A0" + m_Localized: "\u30C9\u30E9\u30C3\u30B0\u3067VRM\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0" m_Metadata: m_Items: [] references: From e4e6df86a178d858a03697adb86821658cde1507 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 6 Feb 2025 15:58:30 +0000 Subject: [PATCH 06/21] =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88GitHub=20Actions=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LocalizationTable/LocalizationTable.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index ce80b9fe..5a020f5b 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" @@ -9,6 +9,6 @@ "WORD_SEND_MESSAGE_BUTTON_TEXT",4547369455259648,"Send","Envoi","Invio","送信","전송" "WORD_AI_CHAT",4599798494334976,"Chat","Chat","Chat","チャット","챗봇" "WORD_WEB_UI_BUTTON",4600571496173568,"Web UI","Interface utilisateur web","Interfaccia web","ウェブUI","웹 UI" -"WORD_ADD_BUTTON",5073601682935808,"","","","追加","" -"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"","","","追加するモデルのパス","" -"WORD_ADD_DRAG_MODEL",5075115772153856,"","","","ドラッグでVRMモデルを追加","" +"WORD_ADD_BUTTON",5073601682935808,"Addition","Ajout","Aggiunta","追加","추가" +"WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"Path to add the model","Chemin du modèle à ajouter","Percorso del modello da aggiungere","追加するモデルのパス","추가할 모델의 경로" +"WORD_ADD_DRAG_MODEL",5075115772153856,"Add VRM model by dragging.","Ajoutez un modèle VRM en faisant glisser.","Aggiungi un modello VRM tramite drag and drop.","ドラッグでVRMモデルを追加","드래그로 VRM 모델 추가" From 17a9bed51802eee72bf26196866f6763b3f1f58c Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 02:12:37 +0900 Subject: [PATCH 07/21] fix: load localization --- .../LocalizationTable/LocalizationTable.csv | 2 +- .../LocalizationTable/LocalizationTable_en.asset | 12 ++++++++++++ .../LocalizationTable/LocalizationTable_fr.asset | 12 ++++++++++++ .../LocalizationTable/LocalizationTable_it.asset | 12 ++++++++++++ .../LocalizationTable/LocalizationTable_ko.asset | 12 ++++++++++++ 5 files changed, 49 insertions(+), 1 deletion(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 5a020f5b..5273dde8 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset index 52a524f6..3e0c8a8a 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset @@ -60,6 +60,18 @@ MonoBehaviour: m_Localized: Web UI m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Localized: Addition + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Localized: Path to add the model + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Localized: Add VRM model by dragging. + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset index 01262e15..50d4b7b1 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset @@ -60,6 +60,18 @@ MonoBehaviour: m_Localized: Interface utilisateur web m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Localized: Ajout + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Localized: "Chemin du mod\xE8le \xE0 ajouter" + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Localized: "Ajoutez un mod\xE8le VRM en faisant glisser." + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset index 456d51a1..12e226d5 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset @@ -60,6 +60,18 @@ MonoBehaviour: m_Localized: Interfaccia web m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Localized: Aggiunta + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Localized: Percorso del modello da aggiungere + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Localized: Aggiungi un modello VRM tramite drag and drop. + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset index 30f7e5b1..c9e96ff8 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset @@ -61,6 +61,18 @@ MonoBehaviour: m_Localized: "\uC6F9 UI" m_Metadata: m_Items: [] + - m_Id: 5073601682935808 + m_Localized: "\uCD94\uAC00" + m_Metadata: + m_Items: [] + - m_Id: 5074280786890752 + m_Localized: "\uCD94\uAC00\uD560 \uBAA8\uB378\uC758 \uACBD\uB85C" + m_Metadata: + m_Items: [] + - m_Id: 5075115772153856 + m_Localized: "\uB4DC\uB798\uADF8\uB85C VRM \uBAA8\uB378 \uCD94\uAC00" + m_Metadata: + m_Items: [] references: version: 2 RefIds: From 9a4d086438cd1f852f00b56bf080d182dc0d0a4a Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 02:12:54 +0900 Subject: [PATCH 08/21] =?UTF-8?q?fix:=20=E3=83=AD=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=81=97=E3=81=9FVRM=E3=81=AE=E4=B8=80=E8=A6=A7=E3=81=AE?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/UI/Common/ModelInfo.prefab | 201 +++++- .../UI/Dialog/SelectModelDialog.prefab | 647 +----------------- .../Scripts/Dialogue/SelectModelDialog.cs | 10 - .../uDesktopMascot/Scripts/SelectModel.meta | 3 + .../Scripts/SelectModel/ModelInfo.cs | 41 ++ .../Scripts/SelectModel/ModelInfo.cs.meta | 3 + .../Scripts/SelectModel/SelectModelDialog.cs | 101 +++ .../SelectModelDialog.cs.meta | 0 8 files changed, 370 insertions(+), 636 deletions(-) delete mode 100644 Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs create mode 100644 Assets/uDesktopMascot/Scripts/SelectModel.meta create mode 100644 Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs create mode 100644 Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs.meta create mode 100644 Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs rename Assets/uDesktopMascot/Scripts/{Dialogue => SelectModel}/SelectModelDialog.cs.meta (100%) diff --git a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab index faa5bab2..b7538a1c 100644 --- a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab @@ -12,7 +12,7 @@ GameObject: - component: {fileID: 5536321295932544455} - component: {fileID: 7614120652971775824} m_Layer: 5 - m_Name: Image + m_Name: BackGroundImage m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -75,6 +75,142 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2006711817778089118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3143481074135335125} + - component: {fileID: 2244635073137143282} + - component: {fileID: 930162028329318031} + 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 &3143481074135335125 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2006711817778089118} + 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: 1 + m_Children: [] + m_Father: {fileID: 6602453644575945564} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -48.2542, y: 0} + m_SizeDelta: {x: -126.5083, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2244635073137143282 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2006711817778089118} + m_CullTransparentMesh: 1 +--- !u!114 &930162028329318031 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2006711817778089118} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 20.7 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 5 + m_fontSizeMax: 72 + m_fontStyle: 1 + 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_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 &7133228653244461086 GameObject: m_ObjectHideFlags: 0 @@ -84,6 +220,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6602453644575945564} + - component: {fileID: 8487265295133120665} + - component: {fileID: 5956748693450340186} m_Layer: 5 m_Name: ModelInfo m_TagString: Untagged @@ -104,10 +242,69 @@ RectTransform: m_ConstrainProportionsScale: 1 m_Children: - {fileID: 7669942176010810646} + - {fileID: 3143481074135335125} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 100} + m_SizeDelta: {x: 0, y: 40} m_Pivot: {x: 0.5, y: 0} +--- !u!114 &8487265295133120665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7133228653244461086} + 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: 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &5956748693450340186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7133228653244461086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7f29c8d40bcc4f0cb5e4d291c601bf61, type: 3} + m_Name: + m_EditorClassIdentifier: + modelNameText: {fileID: 930162028329318031} + selectButton: {fileID: 8487265295133120665} diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab index d92d0f42..2193b775 100644 --- a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 7219237691741173517} - component: {fileID: 2822463023486321361} + - component: {fileID: 4405684930182972189} m_Layer: 5 m_Name: Content m_TagString: Untagged @@ -28,19 +29,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1450163069113406229} - - {fileID: 6614520492855573808} - - {fileID: 1039536092157181483} - - {fileID: 6376979929005036974} - - {fileID: 2574355226709008149} - - {fileID: 8135996246676636246} + m_Children: [] m_Father: {fileID: 6712330694102887196} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 300} + m_AnchoredPosition: {x: 0, y: 0.0009859927} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!114 &2822463023486321361 MonoBehaviour: @@ -62,12 +57,26 @@ MonoBehaviour: m_ChildAlignment: 1 m_Spacing: 0 m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 + m_ChildScaleWidth: 1 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!114 &4405684930182972189 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 141527441175464300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 --- !u!1 &597809613186944653 GameObject: m_ObjectHideFlags: 0 @@ -197,6 +206,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: closeButton: {fileID: 5849125722573429082} + modelInfoPrefab: {fileID: 5956748693450340186, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} + contentTransform: {fileID: 7219237691741173517} --- !u!1 &989239730487369372 GameObject: m_ObjectHideFlags: 0 @@ -2055,615 +2066,3 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 26.038} m_SizeDelta: {x: 0, y: -122.08} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &30363890090774124 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo_1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &6614520492855573808 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 30363890090774124} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &279001001238374130 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo_3 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &6376979929005036974 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 279001001238374130} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &3118881147878912266 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo_5 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &8135996246676636246 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 3118881147878912266} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &5728758199982202953 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &1450163069113406229 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 5728758199982202953} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &6182751841027575159 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo_2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &1039536092157181483 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 6182751841027575159} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &8654039331180620873 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 7219237691741173517} - m_Modifications: - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.x - value: 284 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7133228653244461086, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - propertyPath: m_Name - value: ModelInfo_4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} ---- !u!224 &2574355226709008149 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6602453644575945564, guid: 562b5df59b5e16c45b3b2f1a6bf62482, type: 3} - m_PrefabInstance: {fileID: 8654039331180620873} - m_PrefabAsset: {fileID: 0} diff --git a/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs deleted file mode 100644 index a1fa1994..00000000 --- a/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace uDesktopMascot -{ - /// - /// モデルの追加と選択ダイアログ - /// - public class SelectModelDialog : DialogBase - { - - } -} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel.meta b/Assets/uDesktopMascot/Scripts/SelectModel.meta new file mode 100644 index 00000000..b9c546ee --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/SelectModel.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0a59f6abae7d4870a69d5a595e44ab3d +timeCreated: 1738858336 \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs new file mode 100644 index 00000000..35ceacb9 --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs @@ -0,0 +1,41 @@ +using System; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace uDesktopMascot +{ + /// + /// モデル情報 + /// + public class ModelInfo : MonoBehaviour + { + /// + /// モデル名を表示するテキスト + /// + [SerializeField] private TextMeshProUGUI modelNameText; + + /// + /// モデル選択ボタン + /// + [SerializeField] private Button selectButton; + + /// + /// 初期化 + /// + public void Initialize(string modelName, UnityEngine.Events.UnityAction onClickAction) + { + // モデル名を設定 + modelNameText.text = modelName; + + // ボタンのクリックイベントを設定 + selectButton.onClick.AddListener(onClickAction); + } + + private void OnDestroy() + { + // イベントリスナーを解除 + selectButton.onClick.RemoveAllListeners(); + } + } +} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs.meta b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs.meta new file mode 100644 index 00000000..b1cbd6c7 --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7f29c8d40bcc4f0cb5e4d291c601bf61 +timeCreated: 1738858366 \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs new file mode 100644 index 00000000..0b6a3bc3 --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -0,0 +1,101 @@ +using System.IO; +using System.Threading; +using UnityEngine; +using Cysharp.Threading.Tasks; + +namespace uDesktopMascot +{ + /// + /// モデルの追加と選択ダイアログ + /// + public class SelectModelDialog : DialogBase + { + /// + /// ModelInfoのPrefab + /// + [SerializeField] private ModelInfo modelInfoPrefab; + + /// + /// ScrollViewのContent + /// + [SerializeField] private Transform contentTransform; + + /// + /// 現在ロード中または表示中のモデル + /// + private GameObject _currentModel; + + private CancellationTokenSource _cancellationTokenSource; + + private protected override void Awake() + { + base.Awake(); + _cancellationTokenSource = new CancellationTokenSource(); + } + + private void Start() + { + // モデルリストをロード + LoadModelListAsync().Forget(); + } + + /// + /// モデルリストを非同期でロードし、表示する + /// + private async UniTaskVoid LoadModelListAsync() + { + // StreamingAssetsフォルダ内のVRMファイルを取得 + string streamingAssetsPath = Application.streamingAssetsPath; + string[] vrmFiles = Directory.GetFiles(streamingAssetsPath, "*.vrm", SearchOption.AllDirectories); + + foreach (string vrmFile in vrmFiles) + { + // ファイル名のみを取得 + string fileName = Path.GetFileName(vrmFile); + + // メインスレッドでUIを更新 + await UniTask.SwitchToMainThread(); + + // ModelInfoアイテムを生成 + var item = Instantiate(modelInfoPrefab, contentTransform); + + // モデル情報を初期化 + item.Initialize(fileName, () => OnModelSelected(vrmFile).Forget()); + } + } + + /// + /// モデルが選択されたときの処理 + /// + /// 選択されたモデルのパス + private async UniTaskVoid OnModelSelected(string path) + { + // 既存のモデルがある場合は削除 + if (_currentModel != null) + { + Destroy(_currentModel); + } + + // 指定されたモデルをロード + GameObject model = await LoadVRM.LoadModelAsync(path, _cancellationTokenSource.Token); + + if (model != null) + { + // モデルをシーンに配置 + model.transform.position = Vector3.zero; + + // 現在のモデルとして保持 + _currentModel = model; + } else + { + Debug.LogError($"Failed to load model: {path}"); + } + } + + private void OnDestroy() + { + _cancellationTokenSource?.Cancel(); + _cancellationTokenSource?.Dispose(); + } + } +} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs.meta similarity index 100% rename from Assets/uDesktopMascot/Scripts/Dialogue/SelectModelDialog.cs.meta rename to Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs.meta From ccb288ae6aeb6d3e8666865b884c30e409b0d1e2 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 02:40:49 +0900 Subject: [PATCH 09/21] =?UTF-8?q?fix:=20=E9=81=B8=E6=8A=9E=E3=81=97?= =?UTF-8?q?=E3=81=9F=E3=81=93=E3=81=A8=E3=81=8C=E3=82=8F=E3=81=8B=E3=82=8B?= =?UTF-8?q?UI=E3=81=AE=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Resources/UI/Common/ModelInfo.prefab | 77 +++++++++++++++++++ .../UI/Dialog/SelectModelDialog.prefab | 2 +- .../Scripts/SelectModel/ModelInfo.cs | 20 ++++- .../Scripts/SelectModel/SelectModelDialog.cs | 17 ++-- 4 files changed, 105 insertions(+), 11 deletions(-) diff --git a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab index b7538a1c..52121a96 100644 --- a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab @@ -1,5 +1,80 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &336165368280984709 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5809527449160129362} + - component: {fileID: 435278494268143163} + - component: {fileID: 5888715025017774835} + m_Layer: 5 + m_Name: BackGroundFrameImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5809527449160129362 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 336165368280984709} + 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: 1 + m_Children: [] + m_Father: {fileID: 6602453644575945564} + 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 &435278494268143163 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 336165368280984709} + m_CullTransparentMesh: 1 +--- !u!114 &5888715025017774835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 336165368280984709} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0.8193936, b: 0, 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: 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!1 &1700041997186880398 GameObject: m_ObjectHideFlags: 0 @@ -241,6 +316,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: + - {fileID: 5809527449160129362} - {fileID: 7669942176010810646} - {fileID: 3143481074135335125} m_Father: {fileID: 0} @@ -308,3 +384,4 @@ MonoBehaviour: m_EditorClassIdentifier: modelNameText: {fileID: 930162028329318031} selectButton: {fileID: 8487265295133120665} + backgroundFrameImage: {fileID: 5888715025017774835} diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab index 2193b775..28acbaf5 100644 --- a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab @@ -139,7 +139,7 @@ Canvas: m_AdditionalShaderChannelsFlag: 25 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 - m_SortingOrder: 0 + m_SortingOrder: 3 m_TargetDisplay: 0 --- !u!114 &8360342144671338539 MonoBehaviour: diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs index 35ceacb9..96f06e5e 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs @@ -1,5 +1,4 @@ -using System; -using TMPro; +using TMPro; using UnityEngine; using UnityEngine.UI; @@ -14,12 +13,17 @@ public class ModelInfo : MonoBehaviour /// モデル名を表示するテキスト /// [SerializeField] private TextMeshProUGUI modelNameText; - + /// /// モデル選択ボタン /// [SerializeField] private Button selectButton; + /// + /// 背景イメージ + /// + [SerializeField] private Image backgroundFrameImage; + /// /// 初期化 /// @@ -32,6 +36,16 @@ public void Initialize(string modelName, UnityEngine.Events.UnityAction onClickA selectButton.onClick.AddListener(onClickAction); } + /// + /// 選択状態を設定 + /// + /// + public void SetSelected(bool isSelected) + { + // 背景色を変更 + backgroundFrameImage.enabled = isSelected; + } + private void OnDestroy() { // イベントリスナーを解除 diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index 0b6a3bc3..37a2b635 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -2,6 +2,7 @@ using System.Threading; using UnityEngine; using Cysharp.Threading.Tasks; +using Unity.Logging; namespace uDesktopMascot { @@ -23,7 +24,7 @@ public class SelectModelDialog : DialogBase /// /// 現在ロード中または表示中のモデル /// - private GameObject _currentModel; + private ModelInfo _currentModel; private CancellationTokenSource _cancellationTokenSource; @@ -60,16 +61,21 @@ private async UniTaskVoid LoadModelListAsync() var item = Instantiate(modelInfoPrefab, contentTransform); // モデル情報を初期化 - item.Initialize(fileName, () => OnModelSelected(vrmFile).Forget()); + item.Initialize(fileName, () => OnModelSelected(item,vrmFile).Forget()); } } /// /// モデルが選択されたときの処理 /// + /// /// 選択されたモデルのパス - private async UniTaskVoid OnModelSelected(string path) + private async UniTaskVoid OnModelSelected(ModelInfo modelInfo,string path) { + modelInfo.SetSelected(true); + _currentModel?.SetSelected(false); + _currentModel = modelInfo; + return; // 既存のモデルがある場合は削除 if (_currentModel != null) { @@ -83,12 +89,9 @@ private async UniTaskVoid OnModelSelected(string path) { // モデルをシーンに配置 model.transform.position = Vector3.zero; - - // 現在のモデルとして保持 - _currentModel = model; } else { - Debug.LogError($"Failed to load model: {path}"); + Log.Error($"Failed to load Model:{path}"); } } From f731071f7f8ff6e123ba7b4b3f64f46f0a6154c4 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 11:06:46 +0900 Subject: [PATCH 10/21] =?UTF-8?q?feat:=20Default=E3=83=A2=E3=83=87?= =?UTF-8?q?=E3=83=AB=E3=82=92=E3=83=A2=E3=83=87=E3=83=AB=E9=81=B8=E6=8A=9E?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=81=AE=E4=B8=80=E7=95=AA=E4=B8=8A=E3=81=AE?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/uDesktopMascot/Images/UI/frame.png | Bin 0 -> 1985 bytes .../uDesktopMascot/Images/UI/frame.png.meta | 156 ++++++++++++++++++ .../UI/Dialog/SelectModelDialog.prefab | 2 +- .../uDesktopMascot/Scripts/Common/Constant.cs | 5 + .../Scripts/SelectModel/SelectModelDialog.cs | 17 +- .../uDesktopMascot/Scripts/Utility/LoadVRM.cs | 11 +- 6 files changed, 181 insertions(+), 10 deletions(-) create mode 100644 Assets/uDesktopMascot/Images/UI/frame.png create mode 100644 Assets/uDesktopMascot/Images/UI/frame.png.meta diff --git a/Assets/uDesktopMascot/Images/UI/frame.png b/Assets/uDesktopMascot/Images/UI/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..2b31d59ce292857de4e2e0192f328147a862b9d4 GIT binary patch literal 1985 zcmeAS@N?(olHy`uVBq!ia0y~yV6+C}=NxQ6k>d)#CIczX0*}aI1_o|n5N2eUHAey{ z$XFcY?!>U}oXkrghb7(7*O7r?V?XzwL{Zdg#$$z9_|hmkP%^b zWn91zz@Xv4^ngL6fhEA9u%TtD0Q*C|T*-t})w}YVf+mB+qyBRm+w{K7Spz{-DAA=KAipsW;>NmS3J+StHHxdsA*H|91PjzvgB8cFJ7;%6y}<^xWmy z=BMY+Kg0X}t$^)=f6>ov=62tyDt@^B{>`)e_s&25`axE%puTp-=NIQM+9+%wtIM@6S%jyW public const Ease UIAnimationDefaultEase = Ease.OutCubic; + + /// + /// デフォルトのVRMファイル名 + /// + public const string DefaultVrmFileName = "DefaultModel/DefaultModel"; } } \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index 37a2b635..c9e4cd35 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -34,8 +34,9 @@ private protected override void Awake() _cancellationTokenSource = new CancellationTokenSource(); } - private void Start() + private async void Start() { + await AddDefaultModelList(); // モデルリストをロード LoadModelListAsync().Forget(); } @@ -65,6 +66,20 @@ private async UniTaskVoid LoadModelListAsync() } } + /// + /// デフォルトのモデルリストを追加 + /// + private async UniTask AddDefaultModelList() + { + // デフォルトのモデルリストを追加 + await UniTask.SwitchToMainThread(); + var item = Instantiate(modelInfoPrefab, contentTransform); + var defaultModelPath = Path.Combine(Application.dataPath, Constant.DefaultVrmFileName); + item.Initialize("Default", () => OnModelSelected(item, defaultModelPath).Forget()); + _currentModel = item; + _currentModel.SetSelected(true); + } + /// /// モデルが選択されたときの処理 /// diff --git a/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs b/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs index c925a73c..95fc48ad 100644 --- a/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs +++ b/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs @@ -16,11 +16,6 @@ namespace uDesktopMascot /// public static class LoadVRM { - /// - /// デフォルトのVRMファイル名 - /// - private const string DefaultVrmFileName = "DefaultModel/DefaultModel"; - /// /// アニメーションコントローラーを設定 /// @@ -95,17 +90,17 @@ public static async UniTask LoadModelAsync(string modelPath,Cancella public static GameObject LoadDefaultModel() { // ResourcesフォルダからPrefabをロード - var prefab = Resources.Load(DefaultVrmFileName); + var prefab = Resources.Load(Constant.DefaultVrmFileName); if (prefab == null) { - Log.Error($"デフォルトのPrefabがResourcesフォルダに見つかりません: {DefaultVrmFileName}.prefab"); + Log.Error($"デフォルトのPrefabがResourcesフォルダに見つかりません: {Constant.DefaultVrmFileName}.prefab"); return null; } // Prefabをインスタンス化 var model = Object.Instantiate(prefab); - Log.Debug("デフォルトモデルのロードと表示が完了しました: " + DefaultVrmFileName); + Log.Debug("デフォルトモデルのロードと表示が完了しました: " + Constant.DefaultVrmFileName); return model; } From 388325ca03b1f0dc6d12303803f0127f6512364a Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 7 Feb 2025 02:08:01 +0000 Subject: [PATCH 11/21] =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88GitHub=20Actions=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 5273dde8..5a020f5b 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" From 7d73e919760e19f0d906cb23dffe07dd806588bb Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 11:57:15 +0900 Subject: [PATCH 12/21] =?UTF-8?q?feat:=20UI=E4=B8=8A=E3=81=A7=E3=83=A2?= =?UTF-8?q?=E3=83=87=E3=83=AB=E3=81=AE=E9=81=B8=E6=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Character/CharacterManager.cs | 32 ++++++++++++++----- .../Scripts/SelectModel/SelectModelDialog.cs | 10 +++--- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs b/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs index 2a4bb1bf..4cf166f4 100644 --- a/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs +++ b/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs @@ -11,7 +11,7 @@ namespace uDesktopMascot /// /// モデルのモーションを制御するクラス /// - public partial class CharacterManager : MonoBehaviour + public partial class CharacterManager : SingletonMonoBehaviour { /// /// モデルのアニメーター @@ -48,6 +48,12 @@ public partial class CharacterManager : MonoBehaviour /// private bool _isInitialized = false; + /// + /// モデルがロード済みかどうか + /// + /// + private bool _isModelLoaded = false; + /// /// キャラクターのアニメーションコントローラ /// @@ -78,8 +84,9 @@ public partial class CharacterManager : MonoBehaviour /// private Vector2 _startDragPosition; - private void Awake() + private protected override void Awake() { + base.Awake(); _mainCamera = Camera.main; _cancellationTokenSource = new CancellationTokenSource(); } @@ -131,6 +138,8 @@ private async UniTaskVoid InitModel() // モデルの初期調節 OnModelLoaded(_model); + _isInitialized = true; + } catch (Exception e) { Log.Error($"モデルの初期化中にエラーが発生しました: {e.Message}"); @@ -139,7 +148,7 @@ private async UniTaskVoid InitModel() private void Update() { - if (!_isInitialized) + if (!_isInitialized || !_isModelLoaded) { return; } @@ -179,8 +188,6 @@ private void Update() } } #endif - - // _characterAnimationController.Update(); // モーションを切り替える if (_isDragging && (_uniWindowMoveHandle.IsDragging || _isDraggingModel)) @@ -216,8 +223,17 @@ private void Update() /// 初期ロードのモデルの表示後の調節 /// /// - private void OnModelLoaded(GameObject model) + /// + public void OnModelLoaded(GameObject model,bool isReplaceModel = false) { + _isModelLoaded = false; + + // 既存のモデルがある場合は削除 + if (_model != null && isReplaceModel) + { + Destroy(_model); + } + // モデルを包む空のゲームオブジェクトを作成 GameObject modelContainer = new GameObject("ModelContainer"); @@ -272,8 +288,8 @@ private void OnModelLoaded(GameObject model) // アニメーションコントローラーを設定 LoadVRM.UpdateAnimationController(_modelAnimator); - - _isInitialized = true; + + _isModelLoaded = true; } /// diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index c9e4cd35..035cbb1d 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -90,7 +90,6 @@ private async UniTaskVoid OnModelSelected(ModelInfo modelInfo,string path) modelInfo.SetSelected(true); _currentModel?.SetSelected(false); _currentModel = modelInfo; - return; // 既存のモデルがある場合は削除 if (_currentModel != null) { @@ -102,11 +101,12 @@ private async UniTaskVoid OnModelSelected(ModelInfo modelInfo,string path) if (model != null) { - // モデルをシーンに配置 - model.transform.position = Vector3.zero; - } else + // CharacterManagerにモデルを渡す + CharacterManager.Instance.OnModelLoaded(model,true); + } + else { - Log.Error($"Failed to load Model:{path}"); + Log.Error($"Failed to load Model: {path}"); } } From e15350ef537113526f7957469804cbebd740c799 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 13:59:08 +0900 Subject: [PATCH 13/21] =?UTF-8?q?feat:=20=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E4=B8=80=E8=A6=A7=E3=81=AB=E3=83=A2=E3=83=87=E3=83=AB=E3=81=AE?= =?UTF-8?q?=E3=82=B5=E3=83=A0=E3=83=8D=E3=82=A4=E3=83=AB=E7=94=BB=E5=83=8F?= =?UTF-8?q?=E3=81=AE=E3=83=AD=E3=83=BC=E3=83=89=E5=87=A6=E7=90=86=E3=81=AE?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DefaultModel/DefaultModel.vrm.meta | 2 +- .../Resources/UI/Common/ModelInfo.prefab | 80 +++++++- .../Scripts/Character/CharacterManager.cs | 130 ++++++------ .../Scripts/Character/CharacterModel.cs | 38 ++++ .../Scripts/Character/CharacterModel.cs.meta | 3 + .../Scripts/SelectModel/ModelInfo.cs | 10 +- .../Scripts/SelectModel/SelectModelDialog.cs | 30 +-- .../Scripts/Utility/LoadCharacterModel.cs | 21 +- .../uDesktopMascot/Scripts/Utility/LoadVRM.cs | 185 ++++++++++++++++-- 9 files changed, 389 insertions(+), 110 deletions(-) create mode 100644 Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs create mode 100644 Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs.meta diff --git a/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm.meta b/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm.meta index 3e5cc67c..839f07ab 100644 --- a/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm.meta +++ b/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm.meta @@ -394,4 +394,4 @@ ScriptedImporter: assetBundleVariant: script: {fileID: 11500000, guid: f66ead3390398f443aa127b741826ad9, type: 3} MigrateToVrm1: 1 - RenderPipeline: 0 + RenderPipeline: 2 diff --git a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab index 52121a96..95b797db 100644 --- a/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Common/ModelInfo.prefab @@ -75,6 +75,78 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &963314708451842756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3140520300264707452} + - component: {fileID: 1513916595982045953} + - component: {fileID: 8859903451785108648} + m_Layer: 5 + m_Name: Thumbnail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3140520300264707452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963314708451842756} + 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: 1 + m_Children: [] + m_Father: {fileID: 6602453644575945564} + 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: 40, y: 40} + m_Pivot: {x: 1, y: 0.5} +--- !u!222 &1513916595982045953 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963314708451842756} + m_CullTransparentMesh: 1 +--- !u!114 &8859903451785108648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963314708451842756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, 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_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 --- !u!1 &1700041997186880398 GameObject: m_ObjectHideFlags: 0 @@ -184,8 +256,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -48.2542, y: 0} - m_SizeDelta: {x: -126.5083, y: -10} + m_AnchoredPosition: {x: -17.198425, y: 0} + m_SizeDelta: {x: -64.3966, y: -10} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2244635073137143282 CanvasRenderer: @@ -319,6 +391,7 @@ RectTransform: - {fileID: 5809527449160129362} - {fileID: 7669942176010810646} - {fileID: 3143481074135335125} + - {fileID: 3140520300264707452} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} @@ -366,7 +439,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 0} + m_TargetGraphic: {fileID: 7614120652971775824} m_OnClick: m_PersistentCalls: m_Calls: [] @@ -385,3 +458,4 @@ MonoBehaviour: modelNameText: {fileID: 930162028329318031} selectButton: {fileID: 8487265295133120665} backgroundFrameImage: {fileID: 5888715025017774835} + thumbnailImage: {fileID: 8859903451785108648} diff --git a/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs b/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs index 4cf166f4..2b17d3a2 100644 --- a/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs +++ b/Assets/uDesktopMascot/Scripts/Character/CharacterManager.cs @@ -13,11 +13,6 @@ namespace uDesktopMascot /// public partial class CharacterManager : SingletonMonoBehaviour { - /// - /// モデルのアニメーター - /// - private Animator _modelAnimator; - /// /// ウィンドウ移動ハンドラ /// @@ -29,9 +24,14 @@ public partial class CharacterManager : SingletonMonoBehaviour private MenuPresenter _menuPresenter; /// - /// モデルのゲームオブジェクト + /// キャラクターモデル + /// + private CharacterModel _characterModel; + + /// + /// 現在のVRM情報 /// - private GameObject _model; + public LoadedVRMInfo CurrentVrmInfo => _characterModel.CurrentVrmInfo; /// /// メインカメラ @@ -43,27 +43,11 @@ public partial class CharacterManager : SingletonMonoBehaviour /// private CancellationTokenSource _cancellationTokenSource; - /// - /// 初期化済みかどうか - /// - private bool _isInitialized = false; - - /// - /// モデルがロード済みかどうか - /// - /// - private bool _isModelLoaded = false; - - /// - /// キャラクターのアニメーションコントローラ - /// - private CharacterAnimationController _characterAnimationController; - /// /// マウスがドラッグ中かどうか /// private bool _isDragging = false; - + /// /// マウスがモデルをドラッグ中かどうか /// @@ -89,6 +73,7 @@ private protected override void Awake() base.Awake(); _mainCamera = Camera.main; _cancellationTokenSource = new CancellationTokenSource(); + _characterModel = new CharacterModel(); } private void OnEnable() @@ -98,7 +83,7 @@ private void OnEnable() InputController.Instance.UI.Click.canceled += OnClickCanceled; InputController.Instance.UI.Hold.performed += OnHoldPerformed; - + InputController.Instance.UI.RightClick.started += OnRightClick; Application.wantsToQuit += OnWantsToQuit; @@ -111,7 +96,7 @@ private void OnDisable() InputController.Instance.UI.Click.canceled -= OnClickCanceled; InputController.Instance.UI.Hold.performed -= OnHoldPerformed; - + InputController.Instance.UI.RightClick.started -= OnRightClick; Application.wantsToQuit -= OnWantsToQuit; @@ -131,15 +116,14 @@ private async UniTaskVoid InitModel() { try { - _model = await LoadCharacterModel.LoadModel(_cancellationTokenSource.Token); - + _characterModel.CurrentVrmInfo = await LoadCharacterModel.LoadModel(_cancellationTokenSource.Token); + await UniTask.SwitchToMainThread(); - + // モデルの初期調節 - OnModelLoaded(_model); - - _isInitialized = true; - + OnModelLoaded(_characterModel.CurrentVrmInfo.Model); + + _characterModel.IsInitialized = true; } catch (Exception e) { Log.Error($"モデルの初期化中にエラーが発生しました: {e.Message}"); @@ -148,7 +132,7 @@ private async UniTaskVoid InitModel() private void Update() { - if (!_isInitialized || !_isModelLoaded) + if (!_characterModel.IsInitialized || !_characterModel.IsModelLoaded) { return; } @@ -156,7 +140,8 @@ private void Update() #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN // モデルのスクリーン座標を取得 - var modelScreenPos = ScreenUtility.GetModelScreenPosition(_mainCamera, _model.transform); + var modelScreenPos = + ScreenUtility.GetModelScreenPosition(_mainCamera, _characterModel.CurrentModelContainer.transform); // エクスプローラーウィンドウの位置を取得 var explorerWindows = ExplorerWindowDetector.GetExplorerWindows(); @@ -188,13 +173,13 @@ private void Update() } } #endif - + // モーションを切り替える if (_isDragging && (_uniWindowMoveHandle.IsDragging || _isDraggingModel)) { // ドラッグ中はハンギングモーション(ぶら下がりモーション) - _modelAnimator.SetBool(Const.IsSitting, false); - _modelAnimator.SetBool(Const.IsDragging, true); + _characterModel.ModelAnimator.SetBool(Const.IsSitting, false); + _characterModel.ModelAnimator.SetBool(Const.IsDragging, true); if (!_isHolding) { @@ -204,12 +189,11 @@ private void Update() // ホールド中のボイスを再生 VoiceController.Instance.PlayHoldVoice(); } - } else { - _modelAnimator.SetBool(Const.IsDragging, false); + _characterModel.ModelAnimator.SetBool(Const.IsDragging, false); // 座りモーションまたは立ちモーションに切り替え - _modelAnimator.SetBool(Const.IsSitting, false); + _characterModel.ModelAnimator.SetBool(Const.IsSitting, false); if (_isHolding) { @@ -224,22 +208,22 @@ private void Update() /// /// /// - public void OnModelLoaded(GameObject model,bool isReplaceModel = false) + public void OnModelLoaded(GameObject model, bool isReplaceModel = false) { - _isModelLoaded = false; - + _characterModel.IsModelLoaded = false; + // 既存のモデルがある場合は削除 - if (_model != null && isReplaceModel) + if (_characterModel.CurrentModelContainer != null && isReplaceModel) { - Destroy(_model); + Destroy(_characterModel.CurrentModelContainer); } - + // モデルを包む空のゲームオブジェクトを作成 GameObject modelContainer = new GameObject("ModelContainer"); // モデルを子オブジェクトに設定 model.transform.SetParent(modelContainer.transform, false); - + // モデルコンテナをカメラの前方に配置 Vector3 cameraPosition = _mainCamera.transform.position; Vector3 cameraForward = _mainCamera.transform.forward; @@ -248,50 +232,56 @@ public void OnModelLoaded(GameObject model,bool isReplaceModel = false) // モデルコンテナをカメラの方向に向ける modelContainer.transform.LookAt(cameraPosition, Vector3.up); - + var characterApplicationSettings = ApplicationSettings.Instance.Character; // モデルのスケールを調整(必要に応じて変更) modelContainer.transform.localScale = Vector3.one * characterApplicationSettings.Scale; // モデルコンテナの相対位置を設定 - modelContainer.transform.position += new Vector3(characterApplicationSettings.PositionX, characterApplicationSettings.PositionY, characterApplicationSettings.PositionZ); - + modelContainer.transform.position += new Vector3(characterApplicationSettings.PositionX, + characterApplicationSettings.PositionY, characterApplicationSettings.PositionZ); + // モデルコンテナの相対回転を設定 var currentRotation = modelContainer.transform.rotation.eulerAngles; - modelContainer.transform.rotation = Quaternion.Euler(currentRotation.x + characterApplicationSettings.RotationX, currentRotation.y + characterApplicationSettings.RotationY, currentRotation.z + characterApplicationSettings.RotationZ); - - Log.Info("キャラクター設定: スケール {0}, 位置 {1}, 回転 {2}", characterApplicationSettings.Scale, modelContainer.transform.position, modelContainer.transform.rotation.eulerAngles); + modelContainer.transform.rotation = Quaternion.Euler( + currentRotation.x + characterApplicationSettings.RotationX, + currentRotation.y + characterApplicationSettings.RotationY, + currentRotation.z + characterApplicationSettings.RotationZ); + + Log.Info("キャラクター設定: スケール {0}, 位置 {1}, 回転 {2}", characterApplicationSettings.Scale, + modelContainer.transform.position, modelContainer.transform.rotation.eulerAngles); // モデルコンテナをフィールドに保持 - _model = modelContainer; + _characterModel.CurrentModelContainer = modelContainer; // アニメータの取得と設定 - _modelAnimator = _model.GetComponentInChildren(); - - if(_modelAnimator == null) + _characterModel.ModelAnimator = _characterModel.CurrentModelContainer.GetComponentInChildren(); + + if (_characterModel.ModelAnimator == null) { Log.Debug("Animatorが見つからなかったため、新しく追加します。"); - _modelAnimator = model.AddComponent(); + _characterModel.ModelAnimator = model.AddComponent(); } // モデルからAvatarを取得して設定 var avatar = CreateAvatarFromModel(model); if (avatar != null) { - _modelAnimator.avatar = avatar; + _characterModel.ModelAnimator.avatar = avatar; Log.Info("モデルからAvatarを生成し、Animatorに設定しました。"); } else { Log.Warning("モデルからAvatarを生成できませんでした。アニメーションが正しく再生されない可能性があります。"); } - + // アニメーションコントローラーを設定 - LoadVRM.UpdateAnimationController(_modelAnimator); - - _isModelLoaded = true; + LoadVRM.UpdateAnimationController(_characterModel.ModelAnimator); + + + _characterModel.IsModelLoaded = true; } - + /// /// モデルからAvatarを生成します。 /// @@ -357,7 +347,7 @@ private void OnClickCanceled(InputAction.CallbackContext context) _isDragging = false; // アニメーターのパラメータをリセット - _modelAnimator.SetBool(Const.IsDragging, false); + _characterModel.ModelAnimator.SetBool(Const.IsDragging, false); } /// @@ -372,13 +362,12 @@ private void OnRightClick(InputAction.CallbackContext context) _menuPresenter = new MenuPresenter(menuDialog); } - if(_menuPresenter.IsOpened) + if (_menuPresenter.IsOpened) { _menuPresenter.Hide(); - } - else + } else { - _menuPresenter.Show(_model.transform.position); + _menuPresenter.Show(_characterModel.CurrentModelContainer.transform.position); } } @@ -425,7 +414,6 @@ private async UniTaskVoid HandleApplicationQuit(CancellationToken cancellationTo private void OnDestroy() { _menuPresenter?.Dispose(); - _characterAnimationController?.Dispose(); _cancellationTokenSource?.Cancel(); _cancellationTokenSource?.Dispose(); } diff --git a/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs b/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs new file mode 100644 index 00000000..e02dbafa --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs @@ -0,0 +1,38 @@ +using UnityEngine; +using UniVRM10; + +namespace uDesktopMascot +{ + /// + /// キャラクターモデル + /// + public class CharacterModel + { + /// + /// 現在のmodelContainer + /// + public GameObject CurrentModelContainer { get; set; } + + /// + /// 現在のVRM情報 + /// + public LoadedVRMInfo CurrentVrmInfo { get; set; } + + /// + /// モデルのアニメーター + /// + public Animator ModelAnimator { get; set; } + + /// + /// 初期化済みかどうか + /// + public bool IsInitialized { get; set; } = false; + + /// + /// モデルがロード済みかどうか + /// + /// + public bool IsModelLoaded { get; set; } = false; + + } +} \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs.meta b/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs.meta new file mode 100644 index 00000000..8e7920ec --- /dev/null +++ b/Assets/uDesktopMascot/Scripts/Character/CharacterModel.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 096cffe105294b3ba29fd2965ba3c2c5 +timeCreated: 1738903079 \ No newline at end of file diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs index 96f06e5e..55b22ca8 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs @@ -23,14 +23,22 @@ public class ModelInfo : MonoBehaviour /// 背景イメージ /// [SerializeField] private Image backgroundFrameImage; + + /// + /// サムネイルイメージ + /// + [SerializeField] RawImage thumbnailImage; /// /// 初期化 /// - public void Initialize(string modelName, UnityEngine.Events.UnityAction onClickAction) + public void Initialize(string modelName,Texture2D thumbnail, UnityEngine.Events.UnityAction onClickAction) { // モデル名を設定 modelNameText.text = modelName; + + // サムネイルを設定 + thumbnailImage.texture = thumbnail; // ボタンのクリックイベントを設定 selectButton.onClick.AddListener(onClickAction); diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index 035cbb1d..fbed6755 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -52,17 +52,16 @@ private async UniTaskVoid LoadModelListAsync() foreach (string vrmFile in vrmFiles) { - // ファイル名のみを取得 - string fileName = Path.GetFileName(vrmFile); - // メインスレッドでUIを更新 await UniTask.SwitchToMainThread(); // ModelInfoアイテムを生成 var item = Instantiate(modelInfoPrefab, contentTransform); + var (modelName, thumbnail) = await LoadVRM.LoadVrmMetaAsync(vrmFile); + // モデル情報を初期化 - item.Initialize(fileName, () => OnModelSelected(item,vrmFile).Forget()); + item.Initialize(modelName, thumbnail, () => OnModelSelected(item, vrmFile).Forget()); } } @@ -74,8 +73,9 @@ private async UniTask AddDefaultModelList() // デフォルトのモデルリストを追加 await UniTask.SwitchToMainThread(); var item = Instantiate(modelInfoPrefab, contentTransform); - var defaultModelPath = Path.Combine(Application.dataPath, Constant.DefaultVrmFileName); - item.Initialize("Default", () => OnModelSelected(item, defaultModelPath).Forget()); + item.Initialize(CharacterManager.Instance.CurrentVrmInfo.ModelName, + CharacterManager.Instance.CurrentVrmInfo.ThumbnailTexture, + () => OnModelSelected(item).Forget()); _currentModel = item; _currentModel.SetSelected(true); } @@ -85,7 +85,7 @@ private async UniTask AddDefaultModelList() /// /// /// 選択されたモデルのパス - private async UniTaskVoid OnModelSelected(ModelInfo modelInfo,string path) + private async UniTaskVoid OnModelSelected(ModelInfo modelInfo, string path = null) { modelInfo.SetSelected(true); _currentModel?.SetSelected(false); @@ -96,15 +96,23 @@ private async UniTaskVoid OnModelSelected(ModelInfo modelInfo,string path) Destroy(_currentModel); } + LoadedVRMInfo model; // 指定されたモデルをロード - GameObject model = await LoadVRM.LoadModelAsync(path, _cancellationTokenSource.Token); + if (path == null) + { + var defaultModel = await LoadVRM.LoadDefaultModel(); + + model = new LoadedVRMInfo(defaultModel.gameObject, defaultModel.Vrm.Meta.Name, defaultModel.Vrm.Meta.Thumbnail); + } else + { + model = await LoadVRM.LoadModelAsync(path, _cancellationTokenSource.Token); + } if (model != null) { // CharacterManagerにモデルを渡す - CharacterManager.Instance.OnModelLoaded(model,true); - } - else + CharacterManager.Instance.OnModelLoaded(model.Model, true); + } else { Log.Error($"Failed to load Model: {path}"); } diff --git a/Assets/uDesktopMascot/Scripts/Utility/LoadCharacterModel.cs b/Assets/uDesktopMascot/Scripts/Utility/LoadCharacterModel.cs index 2bdec5cb..ada1c018 100644 --- a/Assets/uDesktopMascot/Scripts/Utility/LoadCharacterModel.cs +++ b/Assets/uDesktopMascot/Scripts/Utility/LoadCharacterModel.cs @@ -29,12 +29,12 @@ private enum ModelType /// /// /// - public static async UniTask LoadModel(CancellationToken cancellationToken) + public static async UniTask LoadModel(CancellationToken cancellationToken) { // 設定ファイルからキャラクター情報の取得 var characterSettings = ApplicationSettings.Instance.Character; - GameObject model = null; + LoadedVRMInfo loadedVrmInfo = null; // モデルの種類を判定 var modelType = GetModelType(characterSettings.ModelPath); @@ -45,13 +45,14 @@ public static async UniTask LoadModel(CancellationToken cancellation { case ModelType.FBX: // FBXモデルの読み込み - model = await LoadFBX.LoadModelAsync(characterSettings.ModelPath, cancellationToken); + var model = await LoadFBX.LoadModelAsync(characterSettings.ModelPath, cancellationToken); + loadedVrmInfo = new LoadedVRMInfo(model, null, null); break; case ModelType.VRM: case ModelType.GLB: case ModelType.GLTF: // VRM、GLB、GLTFモデルの読み込み - model = await LoadVRM.LoadModelAsync(characterSettings.ModelPath, cancellationToken); + loadedVrmInfo = await LoadVRM.LoadModelAsync(characterSettings.ModelPath, cancellationToken); break; default: Log.Error("サポートされていないモデル形式です: {0}", characterSettings.ModelPath); @@ -64,12 +65,14 @@ public static async UniTask LoadModel(CancellationToken cancellation } // モデルのロードが失敗した場合、デフォルトモデルをロードする - if (model == null) + if (loadedVrmInfo == null || loadedVrmInfo.Model == null) { Log.Warning("指定されたモデルのロードに失敗したため、デフォルトモデルをロードします。"); - model = LoadVRM.LoadDefaultModel(); + var defaultModel = await LoadVRM.LoadDefaultModel(); + + loadedVrmInfo = new LoadedVRMInfo(defaultModel.gameObject, defaultModel.Vrm.Meta.Name, defaultModel.Vrm.Meta.Thumbnail); - if (model == null) + if (loadedVrmInfo.Model == null) { Log.Error("デフォルトモデルのロードにも失敗しました。"); return null; @@ -79,7 +82,7 @@ public static async UniTask LoadModel(CancellationToken cancellation if (characterSettings.UseLilToon) { // シェーダーをlilToonに置き換える - bool shaderReplaceSuccess = ReplaceShadersWithLilToon(model); + bool shaderReplaceSuccess = ReplaceShadersWithLilToon(loadedVrmInfo.Model); if (!shaderReplaceSuccess) { @@ -87,7 +90,7 @@ public static async UniTask LoadModel(CancellationToken cancellation } } - return model; + return loadedVrmInfo; } /// diff --git a/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs b/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs index 95fc48ad..7972a5fb 100644 --- a/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs +++ b/Assets/uDesktopMascot/Scripts/Utility/LoadVRM.cs @@ -1,6 +1,5 @@ using System; using System.IO; -using System.Linq; using System.Threading; using Cysharp.Threading.Tasks; using UnityEngine; @@ -47,12 +46,10 @@ public static void UpdateAnimationController(Animator animator) /// /// モデルをロードする /// - public static async UniTask LoadModelAsync(string modelPath,CancellationToken cancellationToken) + public static async UniTask LoadModelAsync(string modelPath, CancellationToken cancellationToken) { try { - GameObject model = null; - if (!string.IsNullOrEmpty(modelPath)) { Log.Info($"指定されたモデルパス: {modelPath}"); @@ -65,7 +62,7 @@ public static async UniTask LoadModelAsync(string modelPath,Cancella { Log.Info($"指定されたモデルファイルをロードします: {modelPath}"); // 指定されたモデルをロード - model = await LoadAndDisplayModel(fullModelPath, cancellationToken); + return await LoadAndDisplayModel(fullModelPath, cancellationToken); } else { Log.Warning($"指定されたモデルファイルが見つかりませんでした: {modelPath}"); @@ -74,31 +71,43 @@ public static async UniTask LoadModelAsync(string modelPath,Cancella } else { Log.Info("モデルパスが指定されていません。"); + return null; } - - return model; } catch (Exception e) { Log.Error($"モデルの読み込みまたは表示中にエラーが発生しました: {e.Message}"); return null; } + + return null; } /// /// デフォルトのVRMモデルをロードして表示する /// - public static GameObject LoadDefaultModel() + public static async UniTask LoadDefaultModel() { // ResourcesフォルダからPrefabをロード - var prefab = Resources.Load(Constant.DefaultVrmFileName); - if (prefab == null) + var request = Resources.LoadAsync(Constant.DefaultVrmFileName); + await request; + + if (request.asset == null) { Log.Error($"デフォルトのPrefabがResourcesフォルダに見つかりません: {Constant.DefaultVrmFileName}.prefab"); return null; } // Prefabをインスタンス化 - var model = Object.Instantiate(prefab); + var prefab = request.asset as GameObject; + var modelGameObject = GameObject.Instantiate(prefab); + + // Vrm10Instance コンポーネントを取得 + var model = modelGameObject.GetComponent(); + if (model == null) + { + Log.Warning( + $"インスタンス化したGameObjectにVrm10Instanceコンポーネントがアタッチされていません: {Constant.DefaultVrmFileName}.prefab"); + } Log.Debug("デフォルトモデルのロードと表示が完了しました: " + Constant.DefaultVrmFileName); @@ -110,7 +119,8 @@ public static GameObject LoadDefaultModel() /// /// モデルファイルのパス /// - private static async UniTask LoadAndDisplayModel(string path, CancellationToken cancellationToken) + private static async UniTask LoadAndDisplayModel(string path, + CancellationToken cancellationToken) { return await LoadAndDisplayModelFromPath(path, cancellationToken); } @@ -121,18 +131,22 @@ private static async UniTask LoadAndDisplayModel(string path, Cancel /// /// /// - private static async UniTask LoadAndDisplayModelFromPath(string path, + private static async UniTask LoadAndDisplayModelFromPath(string path, CancellationToken cancellationToken) { // ファイルの拡張子を取得 var extension = Path.GetExtension(path).ToLowerInvariant(); GameObject model = null; + string title = string.Empty; + Texture2D thumbnailTexture = null; if (extension == ".vrm") { // VRMファイルをロード(VRM 0.x および 1.x に対応) Vrm10Instance instance = await Vrm10.LoadPathAsync(path, canLoadVrm0X: true, ct: cancellationToken); + title = instance.Vrm.Meta.Name; + thumbnailTexture = instance.Vrm.Meta.Thumbnail; // モデルのGameObjectを取得 model = instance.gameObject; @@ -154,7 +168,116 @@ private static async UniTask LoadAndDisplayModelFromPath(string path Log.Info("モデルのロードと表示が完了しました: " + path); - return model; + return new LoadedVRMInfo(model, title, thumbnailTexture); + } + + /// + /// VRMファイルのメタ情報を取得 + /// + /// + /// + public static async UniTask<(string title, Texture2D thumbnailTexture)> LoadVrmMetaAsync(string path) + { + // VRMファイルをバイト配列として読み込む + var bytes = await File.ReadAllBytesAsync(path); + + // GLBデータとしてパース + var parser = new GlbLowLevelParser(path, bytes); + using (var gltfData = parser.Parse()) + { + // VRM 1.0としてパースを試みる + var vrm10Data = Vrm10Data.Parse(gltfData); + if (vrm10Data != null) + { + // VRM 1.0のメタ情報を取得 + var meta = vrm10Data.VrmExtension.Meta; + string title = meta.Name; + + // サムネイル画像を取得 + Texture2D thumbnailTexture = null; + if (meta.ThumbnailImage.HasValue) + { + var imageIndex = meta.ThumbnailImage.Value; + thumbnailTexture = LoadTextureFromImageIndex(vrm10Data.Data, imageIndex); + } + + return (title, thumbnailTexture); + } else + { + // VRM 0.xの場合、マイグレーションを行う + using var migratedGltfData = Vrm10Data.Migrate(gltfData, out var migratedVrm10Data, out var migrationData); + if (migratedVrm10Data != null) + { + // VRM 0.xのメタ情報を取得 + var meta = migrationData?.OriginalMetaBeforeMigration; + string title = meta?.title; + + // サムネイル画像を取得 + Texture2D thumbnailTexture = null; + if (meta?.texture != null && meta.texture != -1) + { + var imageIndex = meta.texture; + thumbnailTexture = LoadTextureFromImageIndex(gltfData, imageIndex); + } + + return (title, thumbnailTexture); + } + } + } + + // メタ情報が取得できなかった場合 + return (null, null); + } + + /// + /// 画像インデックスからテクスチャをロード + /// + /// + /// + /// + private static Texture2D LoadTextureFromImageIndex(GltfData gltfData, int imageIndex) + { + var gltfImage = gltfData.GLTF.images[imageIndex]; + + byte[] imageBytes = null; + + if (!string.IsNullOrEmpty(gltfImage.uri)) + { + if (gltfImage.uri.StartsWith("data:", StringComparison.Ordinal)) + { + // Data URIから画像データを取得 + imageBytes = UriByteBuffer.ReadEmbedded(gltfImage.uri); + } else + { + // 外部ファイルの場合は対応しない + Log.Warning("External image files are not supported."); + return null; + } + } else if (gltfImage.bufferView >= 0) + { + // バッファビューから画像データを取得 + var segment = gltfData.GetBytesFromBufferView(gltfImage.bufferView); + imageBytes = segment.ToArray(); + } else + { + Log.Warning("No image data found for the texture."); + return null; + } + + if (imageBytes != null) + { + // Texture2Dを作成 + var texture = new Texture2D(2, 2); + if (texture.LoadImage(imageBytes)) + { + return texture; + } else + { + Log.Warning("Failed to load image into Texture2D."); + } + } + + return null; } /// @@ -197,4 +320,38 @@ private static async UniTask LoadGlbOrGltfModelAsync(string path) } } } + + /// + /// ロードされたVRMの情報を保持するクラス + /// + public class LoadedVRMInfo + { + /// + /// コンストラクタ + /// + /// + /// + /// + public LoadedVRMInfo(GameObject model, string modelName, Texture2D thumbnailTexture) + { + Model = model; + ModelName = modelName; + ThumbnailTexture = thumbnailTexture; + } + + /// + /// ロードされたモデルのGameObject + /// + public GameObject Model { get; private set; } + + /// + /// モデルのタイトル + /// + public string ModelName { get; private set; } + + /// + /// サムネイル画像 + /// + public Texture2D ThumbnailTexture { get; private set; } + } } \ No newline at end of file From 82ae9c6493c04d3b99b1795031454561478be45a Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:02:42 +0900 Subject: [PATCH 14/21] =?UTF-8?q?fix:=20Default=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E3=81=AEmeta=E6=83=85=E5=A0=B1=E3=81=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DefaultModel.vrm1.Assets/_vrm1_.asset | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm1.Assets/_vrm1_.asset b/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm1.Assets/_vrm1_.asset index 92e33a3a..7050b02b 100644 --- a/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm1.Assets/_vrm1_.asset +++ b/Assets/uDesktopMascot/Resources/DefaultModel/DefaultModel.vrm1.Assets/_vrm1_.asset @@ -14,24 +14,24 @@ MonoBehaviour: m_EditorClassIdentifier: m_prefab: {fileID: -1728013695380148634, guid: 0643c491492f7ff44af830bb4c19e61e, type: 3} Meta: - Name: A + Name: "\u30C7\u30D5\u30A9" Version: 0.0.1 Authors: - - kou + - "\u30A2\u30AA\u30BE\u30E9" CopyrightInformation: ContactInformation: References: [] ThirdPartyLicenses: Thumbnail: {fileID: 2800000, guid: 130855968e3d6724eafaad1f2648911c, type: 3} - AvatarPermission: 0 - ViolentUsage: 0 - SexualUsage: 0 - CommercialUsage: 0 - PoliticalOrReligiousUsage: 0 - AntisocialOrHateUsage: 0 + AvatarPermission: 2 + ViolentUsage: 1 + SexualUsage: 1 + CommercialUsage: 2 + PoliticalOrReligiousUsage: 1 + AntisocialOrHateUsage: 1 CreditNotation: 0 - Redistribution: 0 - Modification: 0 + Redistribution: 1 + Modification: 2 OtherLicenseUrl: Expression: Happy: {fileID: 11400000, guid: 0e29414f73491944a842b84aa3d6dec3, type: 2} From 75ea77d30e17e2a9a03a27a6fedd9c2c1c5a9eaf Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:05:09 +0900 Subject: [PATCH 15/21] =?UTF-8?q?fix:=20meta=E6=83=85=E5=A0=B1=E3=82=92Pre?= =?UTF-8?q?fab=E3=81=AE=E4=BD=9C=E6=88=90=E5=87=A6=E7=90=86=E3=81=AE?= =?UTF-8?q?=E5=87=A6=E7=90=86=E9=A0=86=E5=BA=8F=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index fbed6755..9e45b5ef 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -55,11 +55,12 @@ private async UniTaskVoid LoadModelListAsync() // メインスレッドでUIを更新 await UniTask.SwitchToMainThread(); + // VRMファイルからモデル名とサムネイルを取得 + var (modelName, thumbnail) = await LoadVRM.LoadVrmMetaAsync(vrmFile); + // ModelInfoアイテムを生成 var item = Instantiate(modelInfoPrefab, contentTransform); - var (modelName, thumbnail) = await LoadVRM.LoadVrmMetaAsync(vrmFile); - // モデル情報を初期化 item.Initialize(modelName, thumbnail, () => OnModelSelected(item, vrmFile).Forget()); } From e729c6dcb39bb7f2d590d5787ccc1a77c6b0ac7b Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:12:27 +0900 Subject: [PATCH 16/21] =?UTF-8?q?fix:=20=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=80=E3=81=8B=E3=82=89=E8=BF=BD=E5=8A=A0=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LocalizationTable Shared Data.asset | 4 + .../LocalizationTable/LocalizationTable.csv | 3 +- .../LocalizationTable_ja.asset | 4 + .../UI/Dialog/SelectModelDialog.prefab | 321 +++++++++++++++++- 4 files changed, 320 insertions(+), 12 deletions(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset index 9d2dd85c..55810cc7 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable Shared Data.asset @@ -67,6 +67,10 @@ MonoBehaviour: m_Key: WORD_ADD_DRAG_MODEL m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Key: WORD_OPEN_MODEL + m_Metadata: + m_Items: [] m_Metadata: m_Items: [] m_KeyGenerator: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 5a020f5b..c24d6e89 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" @@ -12,3 +12,4 @@ Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_ADD_BUTTON",5073601682935808,"Addition","Ajout","Aggiunta","追加","추가" "WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"Path to add the model","Chemin du modèle à ajouter","Percorso del modello da aggiungere","追加するモデルのパス","추가할 모델의 경로" "WORD_ADD_DRAG_MODEL",5075115772153856,"Add VRM model by dragging.","Ajoutez un modèle VRM en faisant glisser.","Aggiungi un modello VRM tramite drag and drop.","ドラッグでVRMモデルを追加","드래그로 VRM 모델 추가" +"WORD_OPEN_MODEL",5282738060595200,"","","","モデルをフォルダから選択","" diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset index 514c618a..5daef777 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ja.asset @@ -70,6 +70,10 @@ MonoBehaviour: m_Localized: "\u30C9\u30E9\u30C3\u30B0\u3067VRM\u30E2\u30C7\u30EB\u3092\u8FFD\u52A0" m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Localized: "\u30E2\u30C7\u30EB\u3092\u30D5\u30A9\u30EB\u30C0\u304B\u3089\u9078\u629E" + m_Metadata: + m_Items: [] references: version: 2 RefIds: [] diff --git a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab index 0550024a..98e4116b 100644 --- a/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab +++ b/Assets/uDesktopMascot/Resources/UI/Dialog/SelectModelDialog.prefab @@ -34,7 +34,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0.0009859927} + m_AnchoredPosition: {x: 0, y: -0.000051604933} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!114 &2822463023486321361 @@ -527,10 +527,10 @@ RectTransform: - {fileID: 8468455173986192046} m_Father: {fileID: 655350030915661122} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 5, y: 5} - m_SizeDelta: {x: 237.3269, y: 30} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: -85.8} + m_SizeDelta: {x: -20, y: 30} m_Pivot: {x: 0, y: 0} --- !u!222 &677478155438201908 CanvasRenderer: @@ -1162,6 +1162,183 @@ MonoBehaviour: m_EditorClassIdentifier: m_Padding: {x: -8, y: -5, z: -8, w: -5} m_Softness: {x: 0, y: 0} +--- !u!1 &4716953486325492683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 315154228316285283} + - component: {fileID: 4196224020864444924} + - component: {fileID: 5226488631335523835} + - component: {fileID: 8096648805996567822} + 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 &315154228316285283 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4716953486325492683} + 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: 1 + m_Children: [] + m_Father: {fileID: 4783555877727300176} + 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: -10, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4196224020864444924 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4716953486325492683} + m_CullTransparentMesh: 1 +--- !u!114 &5226488631335523835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4716953486325492683} + 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: Button + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a4ac5cd8892e24e4790c00e0ef00a927, type: 2} + m_sharedMaterial: {fileID: 3991398196324383077, guid: a4ac5cd8892e24e4790c00e0ef00a927, 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: 6.9 + m_fontSizeBase: 16.3 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 3 + m_fontSizeMax: 72 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + 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_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!114 &8096648805996567822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4716953486325492683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 56eb0353ae6e5124bb35b17aff880f16, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StringReference: + m_TableReference: + m_TableCollectionName: GUID:e0bc4458d73676a429c1b840d5dbc577 + m_TableEntryReference: + m_KeyId: 5282738060595200 + m_Key: + m_FallbackState: 0 + m_WaitForCompletion: 0 + m_LocalVariables: [] + m_FormatArguments: [] + m_UpdateString: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5226488631335523835} + m_TargetAssemblyTypeName: TMPro.TMP_Text, Unity.TextMeshPro + m_MethodName: set_text + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 1 + references: + version: 2 + RefIds: [] --- !u!1 &4820288339342183213 GameObject: m_ObjectHideFlags: 0 @@ -1282,7 +1459,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 4938896768314717319} m_HandleRect: {fileID: 8829334285660995281} m_Direction: 2 - m_Value: 0 + m_Value: 1 m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: @@ -1408,6 +1585,127 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &5001710301853291637 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4783555877727300176} + - component: {fileID: 9179233465547608209} + - component: {fileID: 6788671146078125452} + - component: {fileID: 1795318823252908065} + m_Layer: 5 + m_Name: OpenModelButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4783555877727300176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001710301853291637} + 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: 1 + m_Children: + - {fileID: 315154228316285283} + m_Father: {fileID: 655350030915661122} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 40, y: 3} + m_SizeDelta: {x: 90, y: 30} + m_Pivot: {x: 0, y: 0} +--- !u!222 &9179233465547608209 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001710301853291637} + m_CullTransparentMesh: 1 +--- !u!114 &6788671146078125452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001710301853291637} + 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: 10905, 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 &1795318823252908065 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5001710301853291637} + 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: 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: 6788671146078125452} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &5273489851282819176 GameObject: m_ObjectHideFlags: 0 @@ -1703,13 +2001,14 @@ RectTransform: m_Children: - {fileID: 7806914258719165468} - {fileID: 3758179776157591986} + - {fileID: 4783555877727300176} - {fileID: 2478310119011935285} m_Father: {fileID: 8677491949241970153} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 87.076} + m_SizeDelta: {x: 0, y: 119.3695} m_Pivot: {x: 0.5, y: 0} --- !u!1 &7606385198056151632 GameObject: @@ -1747,8 +2046,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -5, y: 5} - m_SizeDelta: {x: 50, y: 30} + m_AnchoredPosition: {x: -40, y: 3} + m_SizeDelta: {x: 90, y: 30} m_Pivot: {x: 1, y: 0} --- !u!222 &3173593261660405258 CanvasRenderer: @@ -2063,6 +2362,6 @@ RectTransform: 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: 26.038} - m_SizeDelta: {x: 0, y: -122.08} + m_AnchoredPosition: {x: 0, y: 42.184} + m_SizeDelta: {x: 0, y: -154.37} m_Pivot: {x: 0.5, y: 0.5} From bf0a0996aa6985c0d63fef06bb284f614aa79d77 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 7 Feb 2025 05:13:05 +0000 Subject: [PATCH 17/21] =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88GitHub=20Actions=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index c24d6e89..5e8db088 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" @@ -12,4 +12,4 @@ "WORD_ADD_BUTTON",5073601682935808,"Addition","Ajout","Aggiunta","追加","추가" "WORD_ADD_MODEL_PATH_PLACEHOLDER",5074280786890752,"Path to add the model","Chemin du modèle à ajouter","Percorso del modello da aggiungere","追加するモデルのパス","추가할 모델의 경로" "WORD_ADD_DRAG_MODEL",5075115772153856,"Add VRM model by dragging.","Ajoutez un modèle VRM en faisant glisser.","Aggiungi un modello VRM tramite drag and drop.","ドラッグでVRMモデルを追加","드래그로 VRM 모델 추가" -"WORD_OPEN_MODEL",5282738060595200,"","","","モデルをフォルダから選択","" +"WORD_OPEN_MODEL",5282738060595200,"Select a model from the folder.","Sélectionnez un modèle dans le dossier.","Seleziona il modello dalla cartella","モデルをフォルダから選択","폴더에서 모델 선택하기" From f0309b9c52b0d46f573eb15957a9cf78c21be2cb Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:21:15 +0900 Subject: [PATCH 18/21] =?UTF-8?q?fix:=20=E3=83=AD=E3=83=BC=E3=82=AB?= =?UTF-8?q?=E3=83=A9=E3=82=A4=E3=82=BA=E3=81=AE=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv | 2 +- .../LocalizationTable/LocalizationTable_en.asset | 4 ++++ .../LocalizationTable/LocalizationTable_fr.asset | 4 ++++ .../LocalizationTable/LocalizationTable_it.asset | 4 ++++ .../LocalizationTable/LocalizationTable_ko.asset | 4 ++++ 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index 5e8db088..ee8d5a0d 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset index 3e0c8a8a..585b5c66 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_en.asset @@ -72,6 +72,10 @@ MonoBehaviour: m_Localized: Add VRM model by dragging. m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Localized: Select a model from the folder. + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset index 50d4b7b1..50132e3b 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_fr.asset @@ -72,6 +72,10 @@ MonoBehaviour: m_Localized: "Ajoutez un mod\xE8le VRM en faisant glisser." m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Localized: "S\xE9lectionnez un mod\xE8le dans le dossier." + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset index 12e226d5..f8054b82 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_it.asset @@ -72,6 +72,10 @@ MonoBehaviour: m_Localized: Aggiungi un modello VRM tramite drag and drop. m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Localized: Seleziona il modello dalla cartella + m_Metadata: + m_Items: [] references: version: 2 RefIds: diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset index c9e96ff8..41684fcf 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable_ko.asset @@ -73,6 +73,10 @@ MonoBehaviour: m_Localized: "\uB4DC\uB798\uADF8\uB85C VRM \uBAA8\uB378 \uCD94\uAC00" m_Metadata: m_Items: [] + - m_Id: 5282738060595200 + m_Localized: "\uD3F4\uB354\uC5D0\uC11C \uBAA8\uB378 \uC120\uD0DD\uD558\uAE30" + m_Metadata: + m_Items: [] references: version: 2 RefIds: From 56688eaa31780a90e7c0f6f0c69939771c06da29 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 7 Feb 2025 05:21:47 +0000 Subject: [PATCH 19/21] =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88GitHub=20Actions=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=82=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv index ee8d5a0d..5e8db088 100644 --- a/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv +++ b/Assets/uDesktopMascot/LocalizationTable/LocalizationTable.csv @@ -1,4 +1,4 @@ -Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) +Key,Id,English(en),French(fr),Italian(it),Japanese(ja),Korean(ko) "WORD_MENU_APPLICATON_CLOSE",552562152116224,"App exit","Application terminée","Chiusura dell'app.","アプリ終了","앱 종료" "WORD_MENU_SELECT_MODEL",557971768283136,"Model addition/change","Ajout ou modification de modèle","Aggiunta o modifica del modello","モデル追加・変更","모델 추가・변경" "WORD_MENU_HELP",557971768283134,"Help","Aide","Aiuto","ヘルプ","도움" From 61734aade830b5ac690c2a2305eafb6e94614d37 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:25:45 +0900 Subject: [PATCH 20/21] =?UTF-8?q?fix:=20=E3=83=A2=E3=83=87=E3=83=AB?= =?UTF-8?q?=E3=81=AEmeta=E6=83=85=E5=A0=B1=E5=8F=96=E5=BE=97=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=81=AE=E5=88=A5=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89?= =?UTF-8?q?=E3=81=AB=E9=80=83=E3=81=8C=E3=81=97=E3=81=A6=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=AE=E9=AB=98=E9=80=9F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/SelectModel/ModelInfo.cs | 13 ++++++--- .../Scripts/SelectModel/SelectModelDialog.cs | 27 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs index 55b22ca8..04d115ae 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/ModelInfo.cs @@ -23,7 +23,7 @@ public class ModelInfo : MonoBehaviour /// 背景イメージ /// [SerializeField] private Image backgroundFrameImage; - + /// /// サムネイルイメージ /// @@ -32,11 +32,11 @@ public class ModelInfo : MonoBehaviour /// /// 初期化 /// - public void Initialize(string modelName,Texture2D thumbnail, UnityEngine.Events.UnityAction onClickAction) + public void Initialize(string modelName, Texture2D thumbnail, UnityEngine.Events.UnityAction onClickAction) { // モデル名を設定 modelNameText.text = modelName; - + // サムネイルを設定 thumbnailImage.texture = thumbnail; @@ -54,6 +54,13 @@ public void SetSelected(bool isSelected) backgroundFrameImage.enabled = isSelected; } + // モデル情報を更新するメソッドを追加 + public void UpdateModelInfo(string modelName, Texture2D thumbnail) + { + modelNameText.text = modelName; + thumbnailImage.texture = thumbnail; + } + private void OnDestroy() { // イベントリスナーを解除 diff --git a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs index 9e45b5ef..1293cf6e 100644 --- a/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs +++ b/Assets/uDesktopMascot/Scripts/SelectModel/SelectModelDialog.cs @@ -52,17 +52,30 @@ private async UniTaskVoid LoadModelListAsync() foreach (string vrmFile in vrmFiles) { - // メインスレッドでUIを更新 - await UniTask.SwitchToMainThread(); + // ファイルパスをキャプチャ + string filePath = vrmFile; - // VRMファイルからモデル名とサムネイルを取得 - var (modelName, thumbnail) = await LoadVRM.LoadVrmMetaAsync(vrmFile); + // 非同期でメタデータを読み込むタスクを開始 + var loadMetaTask = LoadVRM.LoadVrmMetaAsync(filePath); + + // メインスレッドでModelInfoアイテムを生成 + await UniTask.SwitchToMainThread(); - // ModelInfoアイテムを生成 var item = Instantiate(modelInfoPrefab, contentTransform); - // モデル情報を初期化 - item.Initialize(modelName, thumbnail, () => OnModelSelected(item, vrmFile).Forget()); + item.Initialize("モデル情報を取得中...", null, () => OnModelSelected(item, vrmFile).Forget()); + + // 他の処理を続行し、メタデータの読み込みを待つ + var (modelName, thumbnail) = await loadMetaTask; + + // メインスレッドでUIを更新 + await UniTask.SwitchToMainThread(); + + // モデル情報を更新 + item.UpdateModelInfo(modelName, thumbnail); + + // 各ファイルの処理間で待機して、他の処理を行えるようにする + await UniTask.Yield(); } } From 6cafb0e8f8fbd1ca0a969b0abed0b5f550398964 Mon Sep 17 00:00:00 2001 From: yousan Date: Fri, 7 Feb 2025 14:32:51 +0900 Subject: [PATCH 21/21] =?UTF-8?q?fix:=20CSV=E3=81=AE=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=82=AB=E3=83=A9=E3=82=A4=E3=82=BA=E3=81=AE=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=AE=E4=B8=80=E8=A1=8C=E7=9B=AE=E3=82=92=E3=82=B9=E3=82=AD?= =?UTF-8?q?=E3=83=83=E3=83=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/scripts/translate_localization.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/scripts/translate_localization.py b/.github/scripts/translate_localization.py index a88701f9..22743089 100644 --- a/.github/scripts/translate_localization.py +++ b/.github/scripts/translate_localization.py @@ -23,11 +23,11 @@ def translate_text(text, target_language): try: response = client.chat.completions.create( - model="gpt-4o-mini", + model="gpt-4o-mini", messages=[ - {"role": "system", "content": "You are a helpful assistant."}, - {"role": "user", "content": f"Translate the following Japanese text to {target_language}. Return only the translated text without any additional explanations or notes.\n\n{text}"} - ] + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": f"Translate the following Japanese text to {target_language}. Return only the translated text without any additional explanations or notes.\n\n{text}"} + ] ) # 翻訳結果を取得 translation = response.choices[0].message.content.strip() @@ -36,11 +36,11 @@ def translate_text(text, target_language): print(f"翻訳中にエラーが発生しました:{e}") return None -# 各行に対して翻訳を実行 -for idx, row in df.iterrows(): +# 各行に対して翻訳を実行(先頭行をスキップ) +for idx, row in df.iloc[1:].iterrows(): japanese_text = row.get('Japanese(ja)', '') key = row.get('Key', '') - + # 日本語テキストが存在する場合のみ翻訳を実行 if pd.notnull(japanese_text) and japanese_text.strip() != '': print(f"キー '{key}' の翻訳を実行します。") @@ -88,7 +88,6 @@ def write_custom_csv(df, csv_path): data_row.append(f'"{value}"') csvfile.write(','.join(data_row) + '\n') - # カスタム関数でCSVを保存 write_custom_csv(df, csv_path) print("翻訳が完了し、CSVファイルが更新されました。") \ No newline at end of file