diff --git a/.idea/.idea.WordConnect/.idea/.gitignore b/.idea/.idea.WordConnect/.idea/.gitignore new file mode 100644 index 0000000..9fcd635 --- /dev/null +++ b/.idea/.idea.WordConnect/.idea/.gitignore @@ -0,0 +1,13 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# Rider 忽略的文件 +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +/.idea.WordConnect.iml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.WordConnect/.idea/indexLayout.xml b/.idea/.idea.WordConnect/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.WordConnect/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.WordConnect/.idea/vcs.xml b/.idea/.idea.WordConnect/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.WordConnect/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta new file mode 100644 index 0000000..ff2f1e0 --- /dev/null +++ b/Assets/Plugins/Android.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c06b57978eca4a8c985a0db2980155d7 +timeCreated: 1753441726 \ No newline at end of file diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml new file mode 100644 index 0000000..ed59326 --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/Assets/Plugins/Android/AndroidManifest.xml.meta b/Assets/Plugins/Android/AndroidManifest.xml.meta new file mode 100644 index 0000000..ca188af --- /dev/null +++ b/Assets/Plugins/Android/AndroidManifest.xml.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ae3546a78b994fb698b42f134c762323 +timeCreated: 1753441198 \ No newline at end of file diff --git a/Assets/Plugins/iOS/HapticFeedback.mm b/Assets/Plugins/iOS/HapticFeedback.mm index fa87afa..abc1368 100644 --- a/Assets/Plugins/iOS/HapticFeedback.mm +++ b/Assets/Plugins/iOS/HapticFeedback.mm @@ -1,23 +1,26 @@ +// In a file named HapticFeedback.mm #import -extern "C" void _TriggerHapticFeedback(int force) { - UIImpactFeedbackStyle style = UIImpactFeedbackStyleMedium; - switch (force) { - case 0: - style = UIImpactFeedbackStyleLight; - break; - case 1: - style = UIImpactFeedbackStyleMedium; - break; - case 2: - style = UIImpactFeedbackStyleHeavy; - break; - default: - style = UIImpactFeedbackStyleMedium; - break; +extern "C" { + void _TriggerHapticFeedback(int force) + { + UIImpactFeedbackGenerator *generator; + switch (force) + { + case 0: + generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight]; + break; + case 1: + generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleMedium]; + break; + case 2: + generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleHeavy]; + break; + default: + generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight]; + break; + } + [generator prepare]; + [generator impactOccurred]; } - - UIImpactFeedbackGenerator *generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:style]; - [generator prepare]; - [generator impactOccurred]; } \ No newline at end of file diff --git a/Assets/Plugins/iOS/HapticFeedback.mm.meta b/Assets/Plugins/iOS/HapticFeedback.mm.meta index 4986bbf..084b3fa 100644 --- a/Assets/Plugins/iOS/HapticFeedback.mm.meta +++ b/Assets/Plugins/iOS/HapticFeedback.mm.meta @@ -1,33 +1,3 @@ fileFormatVersion: 2 -guid: c30cc81651d3a475abd96c3e551db242 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - iPhone: iOS - second: - enabled: 1 - settings: - AddToEmbeddedBinaries: false - userData: - assetBundleName: - assetBundleVariant: +guid: cbfaede381004ac784b15b5491659521 +timeCreated: 1729853676 \ No newline at end of file diff --git a/Assets/Plugins/iOS/unity-plugin-library.a b/Assets/Plugins/iOS/unity-plugin-library.a new file mode 100644 index 0000000..087fea0 Binary files /dev/null and b/Assets/Plugins/iOS/unity-plugin-library.a differ diff --git a/Assets/Plugins/iOS/unity-plugin-library.a.meta b/Assets/Plugins/iOS/unity-plugin-library.a.meta new file mode 100644 index 0000000..1691007 --- /dev/null +++ b/Assets/Plugins/iOS/unity-plugin-library.a.meta @@ -0,0 +1,81 @@ +fileFormatVersion: 2 +guid: b1cd6fee1bb9460190dc70ce1c525793 +labels: +- gvh +- gvh_version-10.3.0 +- gvhp_exportpath-Plugins/iOS/unity-plugin-library.a +timeCreated: 1480838400 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 1 + settings: + CPU: x86 + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 1 + settings: + CPU: AnyCPU + OSXIntel: + enabled: 1 + settings: + CPU: x86 + OSXIntel64: + enabled: 1 + settings: + CPU: x86_64 + OSXUniversal: + enabled: 1 + settings: + CPU: AnyCPU + Web: + enabled: 0 + settings: {} + WebStreamed: + enabled: 0 + settings: {} + Win: + enabled: 1 + settings: + CPU: x86 + Win64: + enabled: 1 + settings: + CPU: x86_64 + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + iOS: + enabled: 1 + settings: + CompileFlags: + FrameworkDependencies: + tvOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WordConnectGameToolkit/Prefabs/PopupElements/logotype.prefab b/Assets/WordConnectGameToolkit/Prefabs/PopupElements/logotype.prefab index 475c688..990c227 100644 --- a/Assets/WordConnectGameToolkit/Prefabs/PopupElements/logotype.prefab +++ b/Assets/WordConnectGameToolkit/Prefabs/PopupElements/logotype.prefab @@ -1,305 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &1125092840833149178 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2857020825867236269} - - component: {fileID: 4017715066533413546} - - component: {fileID: 7146954275472271903} - m_Layer: 0 - m_Name: label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2857020825867236269 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1125092840833149178} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: 102.25001, y: -244} - m_SizeDelta: {x: 328.5, y: 145} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4017715066533413546 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1125092840833149178} - m_CullTransparentMesh: 1 ---- !u!114 &7146954275472271903 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1125092840833149178} - 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.32156864, g: 0.5921569, 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: 6a1a7d9e52614b9438e28d1e5065266d, 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 &1144527466411814374 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2188668316507465762} - - component: {fileID: 9116841351308745868} - - component: {fileID: 708254459989493197} - m_Layer: 0 - m_Name: Puzzle-logo-txt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2188668316507465762 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1144527466411814374} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: -31, y: -148} - m_SizeDelta: {x: 638, y: 156} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &9116841351308745868 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1144527466411814374} - m_CullTransparentMesh: 1 ---- !u!114 &708254459989493197 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1144527466411814374} - 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: 5cf5fbb98fd054a9eb0548bf5a15a9a0, 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!1 &1217184182562031401 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 800133845910122391} - - component: {fileID: 7502779889808049259} - - component: {fileID: 3538560189389860317} - m_Layer: 0 - m_Name: C - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &800133845910122391 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1217184182562031401} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: 165, y: 57} - m_SizeDelta: {x: 203, y: 256} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7502779889808049259 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1217184182562031401} - m_CullTransparentMesh: 1 ---- !u!114 &3538560189389860317 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1217184182562031401} - 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: 40b11c76fc4454ab9a3aca503b041332, 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!1 &1238907732860986645 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3798089143438738365} - - component: {fileID: 8152803508105789924} - - component: {fileID: 8662333087983062108} - m_Layer: 0 - m_Name: O - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3798089143438738365 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1238907732860986645} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: -10, y: 66} - m_SizeDelta: {x: 323, y: 340} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8152803508105789924 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1238907732860986645} - m_CullTransparentMesh: 1 ---- !u!114 &8662333087983062108 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1238907732860986645} - 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: 0fb4562dafa8549dfa0912b3d5ddf429, 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!1 &1317114975559913173 GameObject: m_ObjectHideFlags: 0 @@ -328,16 +28,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 2857020825867236269} - - {fileID: 7237985044392396943} - - {fileID: 800133845910122391} - - {fileID: 3798089143438738365} - - {fileID: 3669207199257443244} - - {fileID: 1651716613691765073} - - {fileID: 7930341969674081366} - - {fileID: 2188668316507465762} - - {fileID: 1587692055834529378} - - {fileID: 5267061118891656177} + - {fileID: 6991519853766543942} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -345,7 +36,7 @@ RectTransform: m_AnchoredPosition: {x: 19.5, y: 641.9} m_SizeDelta: {x: 937, y: 652.4} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1775140480896058040 +--- !u!1 &4436263584535608625 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -353,158 +44,23 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1587692055834529378} - - component: {fileID: 4905075138657936865} - - component: {fileID: 7383671856993782237} + - component: {fileID: 6991519853766543942} + - component: {fileID: 1171551675424211014} + - component: {fileID: 9119692445744535771} m_Layer: 0 - m_Name: Game Toolkit txt + m_Name: logo m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1587692055834529378 +--- !u!224 &6991519853766543942 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1775140480896058040} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: 104, y: -258} - m_SizeDelta: {x: 301.8, y: 48.9} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4905075138657936865 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1775140480896058040} - m_CullTransparentMesh: 1 ---- !u!114 &7383671856993782237 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1775140480896058040} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2bc838cbc2e148b3a5e7578d063ccb18, 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: Game Toolkit - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 14928a98ac0086a4483452d618f1764c, type: 2} - m_sharedMaterial: {fileID: 3722732180671858053, guid: 14928a98ac0086a4483452d618f1764c, 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: 40.4 - m_fontSizeBase: 32 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 16 - m_fontSizeMax: 200 - m_fontStyle: 0 - 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_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} - instanceID: ---- !u!1 &2798765249596915848 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7237985044392396943} - - component: {fileID: 4278521145482899828} - - component: {fileID: 5182781659340014903} - m_Layer: 0 - m_Name: K - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7237985044392396943 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2798765249596915848} + m_GameObject: {fileID: 4436263584535608625} 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} @@ -514,24 +70,24 @@ RectTransform: 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: 339, y: 62} - m_SizeDelta: {x: 201, y: 258} + m_AnchoredPosition: {x: -19.5, y: -51} + m_SizeDelta: {x: 765, y: 367} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4278521145482899828 +--- !u!222 &1171551675424211014 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2798765249596915848} + m_GameObject: {fileID: 4436263584535608625} m_CullTransparentMesh: 1 ---- !u!114 &5182781659340014903 +--- !u!114 &9119692445744535771 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2798765249596915848} + m_GameObject: {fileID: 4436263584535608625} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -545,367 +101,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 35fdbc8e63c5a4bf3bbd3ccc76219cff, 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!1 &2950914775016921288 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5267061118891656177} - - component: {fileID: 5692801182675953203} - - component: {fileID: 405362430117505333} - m_Layer: 0 - m_Name: candy-smith.com - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5267061118891656177 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2950914775016921288} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: 107, y: -292.29996} - m_SizeDelta: {x: 198.3, y: 49.6} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5692801182675953203 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2950914775016921288} - m_CullTransparentMesh: 1 ---- !u!114 &405362430117505333 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2950914775016921288} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2bc838cbc2e148b3a5e7578d063ccb18, 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: candy-smith.com - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 14928a98ac0086a4483452d618f1764c, type: 2} - m_sharedMaterial: {fileID: 3722732180671858053, guid: 14928a98ac0086a4483452d618f1764c, 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: 24.15 - m_fontSizeBase: 32 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 16 - m_fontSizeMax: 200 - m_fontStyle: 0 - 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_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} - instanceID: ---- !u!1 &3099863380251655998 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7930341969674081366} - - component: {fileID: 4443224619461481476} - - component: {fileID: 1383818645761691821} - m_Layer: 0 - m_Name: crown-icon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7930341969674081366 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3099863380251655998} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: 5, y: 236} - m_SizeDelta: {x: 117, y: 141} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4443224619461481476 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3099863380251655998} - m_CullTransparentMesh: 1 ---- !u!114 &1383818645761691821 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3099863380251655998} - 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: 1c2a6b54e47f24ec988ab312f4f9f15f, 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!1 &4483943647209023423 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3669207199257443244} - - component: {fileID: 579003316832335955} - - component: {fileID: 13517998226414589} - m_Layer: 0 - m_Name: B - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3669207199257443244 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4483943647209023423} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: -347, y: 61} - m_SizeDelta: {x: 214, y: 258} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &579003316832335955 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4483943647209023423} - m_CullTransparentMesh: 1 ---- !u!114 &13517998226414589 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4483943647209023423} - 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: d6d3c7c6338024d748bb251e20f1feae, 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!1 &8851489014707413941 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1651716613691765073} - - component: {fileID: 26444035618884800} - - component: {fileID: 2592848455393306425} - m_Layer: 0 - m_Name: L - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1651716613691765073 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8851489014707413941} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 8066142236189538299} - 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: -185, y: 63} - m_SizeDelta: {x: 182, y: 250} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &26444035618884800 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8851489014707413941} - m_CullTransparentMesh: 1 ---- !u!114 &2592848455393306425 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8851489014707413941} - 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: 970b0ebcc16dc4bfda9cf885b350e841, type: 3} + m_Sprite: {fileID: 21300000, guid: 05efaf40126cf49a99b0596285b72ff3, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 diff --git a/Assets/WordConnectGameToolkit/Scenes/main.unity b/Assets/WordConnectGameToolkit/Scenes/main.unity index 9ccf5ee..181b43a 100644 --- a/Assets/WordConnectGameToolkit/Scenes/main.unity +++ b/Assets/WordConnectGameToolkit/Scenes/main.unity @@ -3475,81 +3475,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rectCanvasTransform: {fileID: 344021084} ---- !u!1 &1559885650 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1559885651} - - component: {fileID: 1559885653} - - component: {fileID: 1559885652} - m_Layer: 0 - m_Name: logo - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1559885651 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1559885650} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1298389566} - 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: -19.5, y: -51} - m_SizeDelta: {x: 765, y: 367} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1559885652 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1559885650} - 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: 05efaf40126cf49a99b0596285b72ff3, 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!222 &1559885653 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1559885650} - m_CullTransparentMesh: 1 --- !u!1 &1652429908 GameObject: m_ObjectHideFlags: 0 @@ -6327,10 +6252,6 @@ PrefabInstance: propertyPath: m_Name value: logotype objectReference: {fileID: 0} - - target: {fileID: 1317114975559913173, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - target: {fileID: 8066142236189538299, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -6412,21 +6333,8 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] - m_RemovedGameObjects: - - {fileID: 2950914775016921288, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 1775140480896058040, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 1144527466411814374, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 3099863380251655998, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 8851489014707413941, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 4483943647209023423, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 1238907732860986645, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 1217184182562031401, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 2798765249596915848, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - - {fileID: 1125092840833149178, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - m_AddedGameObjects: - - targetCorrespondingSourceObject: {fileID: 8066142236189538299, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} - insertIndex: -1 - addedObject: {fileID: 1559885651} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7c8e4739e8dd640cd9446b343d1439dd, type: 3} --- !u!114 &7744221874774066920 diff --git a/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs b/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs new file mode 100644 index 0000000..b470fd8 --- /dev/null +++ b/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs @@ -0,0 +1,154 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections.Generic; + +namespace WordsToolkit.Scripts.GUI +{ + [AddComponentMenu("Layout/Flexible Grid Layout")] + public class FlexibleGridLayout : LayoutGroup + { + [Header("Grid Settings")] + [SerializeField] private bool fitX = true; + [SerializeField] private bool fitY = true; + [SerializeField] private int rows = 1; + [SerializeField] private int columns = 1; + + [Header("Cell Settings")] + [SerializeField] private Vector2 cellSize = new Vector2(100, 100); + [SerializeField] private Vector2 spacing = Vector2.zero; + [SerializeField] private bool overrideHeight = false; + [SerializeField] private float fixedCellHeight = 100f; + + [Header("Flexible Width Options")] + [SerializeField] private bool enableFlexibleWidth = true; + [SerializeField] private bool enableFlexibleHeight = false; + [SerializeField] private float minCellWidth = 50f; + [SerializeField] private float maxCellWidth = 200f; + [SerializeField] private bool keepAspectRatio = false; + [SerializeField] private bool stretchLastRow = true; + + public override void CalculateLayoutInputHorizontal() + { + base.CalculateLayoutInputHorizontal(); + + if (fitX || fitY) + { + float sqrRt = Mathf.Sqrt(transform.childCount); + rows = Mathf.CeilToInt(sqrRt); + columns = Mathf.CeilToInt(sqrRt); + } + + if (fitX) + { + rows = Mathf.CeilToInt(transform.childCount / (float)columns); + } + if (fitY) + { + columns = Mathf.CeilToInt(transform.childCount / (float)rows); + } + + CalculateAndApplyLayout(); + } + + private void CalculateAndApplyLayout() + { + float parentWidth = rectTransform.rect.width; + float parentHeight = rectTransform.rect.height; + + float availableWidth = parentWidth - padding.left - padding.right; + float availableHeight = parentHeight - padding.top - padding.bottom; + + float totalSpacingWidth = spacing.x * (columns - 1); + float totalSpacingHeight = spacing.y * (rows - 1); + + float cellWidth = (availableWidth - totalSpacingWidth) / columns; + float cellHeight = (availableHeight - totalSpacingHeight) / rows; + + if (enableFlexibleWidth) + { + cellWidth = Mathf.Clamp(cellWidth, minCellWidth, maxCellWidth); + if (keepAspectRatio) + { + cellHeight = cellWidth * (cellSize.y / cellSize.x); + } + } + + if (enableFlexibleHeight && !keepAspectRatio) + { + cellHeight = enableFlexibleHeight ? cellHeight : cellSize.y; + } + + cellSize.x = enableFlexibleWidth ? cellWidth : cellSize.x; + cellSize.y = enableFlexibleHeight || keepAspectRatio ? cellHeight : cellSize.y; + + // Override height if specified + if (overrideHeight) + { + cellSize.y = fixedCellHeight; + } + + SetChildrenPositions(); + } + + private void SetChildrenPositions() + { + int totalChildren = rectChildren.Count; + int lastRowStart = ((totalChildren - 1) / columns) * columns; + int elementsInLastRow = totalChildren - lastRowStart; + bool isLastRowIncomplete = elementsInLastRow < columns && elementsInLastRow > 0; + + for (int i = 0; i < rectChildren.Count; i++) + { + int rowIndex = i / columns; + int columnIndex = i % columns; + bool isInLastRow = i >= lastRowStart; + + var item = rectChildren[i]; + + float cellWidth = cellSize.x; + float xPos; + + if (stretchLastRow && isLastRowIncomplete && isInLastRow) + { + // Calculate stretched width for last row elements + float availableWidth = rectTransform.rect.width - padding.left - padding.right; + float totalSpacing = spacing.x * (elementsInLastRow - 1); + float stretchedCellWidth = (availableWidth - totalSpacing) / elementsInLastRow; + + if (enableFlexibleWidth) + { + stretchedCellWidth = Mathf.Clamp(stretchedCellWidth, minCellWidth, maxCellWidth); + } + + cellWidth = stretchedCellWidth; + + // Calculate position for stretched elements + int positionInLastRow = i - lastRowStart; + xPos = padding.left + (cellWidth * positionInLastRow) + (spacing.x * positionInLastRow); + } + else + { + // Normal positioning + xPos = padding.left + (cellSize.x * columnIndex) + (spacing.x * columnIndex); + } + + float yPos = padding.top + (cellSize.y * rowIndex) + (spacing.y * rowIndex); + + SetChildAlongAxis(item, 0, xPos, cellWidth); + SetChildAlongAxis(item, 1, yPos, cellSize.y); + } + } + + public override void CalculateLayoutInputVertical() + { + } + + public override void SetLayoutHorizontal() + { + } + + public override void SetLayoutVertical() + { + } + } +} diff --git a/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs.meta b/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs.meta new file mode 100644 index 0000000..8b81a47 --- /dev/null +++ b/Assets/WordConnectGameToolkit/Scripts/GUI/FlexibleGridLayout.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorScope.cs b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorScope.cs index 3d02838..d9a2592 100644 --- a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorScope.cs +++ b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorScope.cs @@ -10,13 +10,17 @@ namespace WordsToolkit.Scripts.Levels.Editor public static class EditorScope { private static IObjectResolver editorContainer; + private static bool isDisposed = false; public static IObjectResolver Container { get { - if (editorContainer == null) + if (isDisposed || editorContainer == null) { + if (isDisposed) + return null; + var builder = new ContainerBuilder(); Configure(builder); editorContainer = builder.Build(); @@ -48,7 +52,31 @@ namespace WordsToolkit.Scripts.Levels.Editor public static T Resolve() where T : class { - return Container.Resolve(); + var container = Container; + if (container == null || isDisposed) + return null; + return container.Resolve(); + } + + public static void Dispose() + { + isDisposed = true; + if (editorContainer != null) + { + if (editorContainer is global::System.IDisposable disposableContainer) + { + disposableContainer.Dispose(); + } + editorContainer = null; + } + } + + // Called by Unity when domain is reloading + [UnityEngine.RuntimeInitializeOnLoadMethod(UnityEngine.RuntimeInitializeLoadType.SubsystemRegistration)] + private static void Reset() + { + isDisposed = false; + editorContainer = null; } } } diff --git a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorWindows/LevelManagerWindow.cs b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorWindows/LevelManagerWindow.cs index 2b2eeb3..e4b414d 100644 --- a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorWindows/LevelManagerWindow.cs +++ b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/EditorWindows/LevelManagerWindow.cs @@ -15,6 +15,9 @@ namespace WordsToolkit.Scripts.Levels.Editor.EditorWindows // Static field to track all windows and handle script recompilation private static List activeWindows = new List(); + // Static flag to track if Unity is quitting + private static bool isQuitting = false; + // Static event for when hierarchy selection changes - other windows can subscribe to this public static event Action OnHierarchySelectionChanged; @@ -64,6 +67,9 @@ namespace WordsToolkit.Scripts.Levels.Editor.EditorWindows activeWindows.Add(this); } + // Subscribe to Unity quitting event + EditorApplication.quitting += OnUnityQuitting; + // Initialize UI LevelManagerWindowUI.InitializeUI(this); @@ -82,10 +88,23 @@ namespace WordsToolkit.Scripts.Levels.Editor.EditorWindows if (!string.IsNullOrEmpty(m_SelectedLanguage)) EditorPrefs.SetString(SELECTED_LANGUAGE_KEY, m_SelectedLanguage); + // Unsubscribe from Unity quitting event + EditorApplication.quitting -= OnUnityQuitting; + // Unregister this window instance activeWindows.Remove(this); } + private static void OnUnityQuitting() + { + isQuitting = true; + // Dispose the editor scope container to prevent crashes + EditorScope.Dispose(); + } + + // Public static property to check if Unity is quitting + public static bool IsQuitting => isQuitting; + private void InitializeTreeView() { // Create tree view state if needed diff --git a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/LevelDataEditor.cs b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/LevelDataEditor.cs index 6b124f3..a2497bc 100644 --- a/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/LevelDataEditor.cs +++ b/Assets/WordConnectGameToolkit/Scripts/Levels/Editor/LevelDataEditor.cs @@ -845,20 +845,20 @@ namespace WordsToolkit.Scripts.Levels.Editor var wordsListContainer = new VisualElement(); wordsListContainer.style.width = new StyleLength(new Length(100, LengthUnit.Percent)); wordsListContainer.style.flexGrow = 1; - + // Store reference to the words list container for this language wordsListElements[langCode] = wordsListContainer; - + // Fill words list from the SerializedProperty using ListView FillWordsList(wordsListContainer, wordsProp, langCode); - + wordsContent.Add(wordsListContainer); // Add Clear Words button var clearWordsButton = new Button(() => { - if (EditorUtility.DisplayDialog("Clear Words", - "Are you sure you want to clear all words and crossword? This action cannot be undone.", + if (EditorUtility.DisplayDialog("Clear Words", + "Are you sure you want to clear all words and crossword? This action cannot be undone.", "Clear", "Cancel")) { serializedObject.Update(); @@ -871,7 +871,7 @@ namespace WordsToolkit.Scripts.Levels.Editor { previewDataDict[langCode] = null; } - + // Clear the saved crossword data in the level var languageData = level.GetLanguageData(langCode); if (languageData != null) @@ -886,10 +886,10 @@ namespace WordsToolkit.Scripts.Levels.Editor EditorUtility.SetDirty(serializedObject.targetObject); AssetDatabase.SaveAssets(); - + // Notify that the level needs update to refresh the crossword NotifyLevelNeedsUpdate(level); - + // Refresh the UI using LevelManagerWindow EditorWindows.LevelManagerWindow.RefreshInspectorForLevel(level); } @@ -912,13 +912,13 @@ namespace WordsToolkit.Scripts.Levels.Editor { // Clear existing content first wordsListContainer.Clear(); - + // Create ListView for words var wordsListView = new ListView(); wordsListView.name = $"words-listview-{langCode}"; wordsListView.style.flexGrow = 1; wordsListView.style.height = StyleKeyword.Auto; // Auto height based on content - + // Schedule setting the title after the ListView is fully constructed wordsListView.schedule.Execute(() => { @@ -928,7 +928,7 @@ namespace WordsToolkit.Scripts.Levels.Editor { var label = sizeField.Q