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