diff --git a/Assets/RTLTMPro.meta b/Assets/RTLTMPro.meta
new file mode 100644
index 0000000..3469d75
--- /dev/null
+++ b/Assets/RTLTMPro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0c07a9f118341e14b8a33afc43ab2cb3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Fonts.meta b/Assets/RTLTMPro/Fonts.meta
new file mode 100644
index 0000000..d495a6f
--- /dev/null
+++ b/Assets/RTLTMPro/Fonts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b428dc574f2ded64784b97ed202ad415
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Ranges.meta b/Assets/RTLTMPro/Ranges.meta
new file mode 100644
index 0000000..0c9daa5
--- /dev/null
+++ b/Assets/RTLTMPro/Ranges.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e2557c11c53f33f40be6c375fbbaa4f5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Resources.meta b/Assets/RTLTMPro/Resources.meta
new file mode 100644
index 0000000..216a887
--- /dev/null
+++ b/Assets/RTLTMPro/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4d2fc52e94ed3e445922cf03a594dbdc
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Resources/Shaders.meta b/Assets/RTLTMPro/Resources/Shaders.meta
new file mode 100644
index 0000000..14ca394
--- /dev/null
+++ b/Assets/RTLTMPro/Resources/Shaders.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6b956be7dd5abb9448d9a0530b49a1a5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Resources/Sprites.meta b/Assets/RTLTMPro/Resources/Sprites.meta
new file mode 100644
index 0000000..6cbb15c
--- /dev/null
+++ b/Assets/RTLTMPro/Resources/Sprites.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7db7fbf6f8d2e1a4fa7f041094fd1622
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Resources/Sprites/Github.png.meta b/Assets/RTLTMPro/Resources/Sprites/Github.png.meta
index f0105ba..b84f68e 100644
--- a/Assets/RTLTMPro/Resources/Sprites/Github.png.meta
+++ b/Assets/RTLTMPro/Resources/Sprites/Github.png.meta
@@ -1,9 +1,9 @@
fileFormatVersion: 2
guid: f530757d1fa82d845a6183ba68030714
TextureImporter:
- fileIDToRecycleName: {}
+ internalIDToNameTable: []
externalObjects: {}
- serializedVersion: 6
+ serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
@@ -57,8 +57,9 @@ TextureImporter:
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
+ applyGammaDecoding: 1
platformSettings:
- - serializedVersion: 2
+ - serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -69,7 +70,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 1
+ - serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -80,7 +82,8 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- - serializedVersion: 2
+ forceMaximumCompressionQuality_BC6H_BC7: 1
+ - serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@@ -91,18 +94,23 @@ TextureImporter:
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
- spriteID:
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
vertices: []
indices:
edges: []
weights: []
+ secondaryTextures: []
spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/RTLTMPro/Scenes.meta b/Assets/RTLTMPro/Scenes.meta
new file mode 100644
index 0000000..17a207d
--- /dev/null
+++ b/Assets/RTLTMPro/Scenes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 812a2f0160e2d9d4293f30827c20afa3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Scenes/Rich Text.unity b/Assets/RTLTMPro/Scenes/Rich Text.unity
index eb47582..0df9558 100644
--- a/Assets/RTLTMPro/Scenes/Rich Text.unity
+++ b/Assets/RTLTMPro/Scenes/Rich Text.unity
@@ -50,12 +50,11 @@ LightmapSettings:
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
- m_TemporalCoherenceThreshold: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
- serializedVersion: 10
+ serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 10
m_AtlasSize: 512
@@ -63,6 +62,7 @@ LightmapSettings:
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
@@ -77,10 +77,16 @@ LightmapSettings:
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 256
m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 2
+ m_PVRDenoiserTypeDirect: 0
+ m_PVRDenoiserTypeIndirect: 0
+ m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
- m_PVRFilteringMode: 1
+ m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
@@ -88,7 +94,9 @@ LightmapSettings:
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ShowResolutionOverlay: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
@@ -113,11 +121,155 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
+--- !u!1 &209932492
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 209932493}
+ - component: {fileID: 209932495}
+ - component: {fileID: 209932494}
+ m_Layer: 0
+ m_Name: RTLTextMeshPro (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &209932493
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 209932492}
+ 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_Children:
+ - {fileID: 1720883043}
+ - {fileID: 1887986674}
+ m_Father: {fileID: 1404080890}
+ m_RootOrder: 3
+ 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: 1.5643e-10, y: -350}
+ m_SizeDelta: {x: 1044.4, y: 162.5}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &209932494
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 209932492}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b9839c2d141529145a431aef4d757ff3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: "\u0627\uFECB\uFEAA\u0627\u062F \uFED3\uFE8E\u0631\uFEB3\uFBFD \u06F3\u06F2\u06F1
+ \uFE91\uFEEA \uFEEB\uFEE4\uFEAE\u0627\u0647 \uFE91\uFEB0\u0631\uFB94\uFE8E\u0646."
+ m_isRightToLeft: 1
+ m_fontAsset: {fileID: 11400000, guid: 3fbde2e562e333d488bc46986fc6f4f1, type: 2}
+ m_sharedMaterial: {fileID: 21623836076631360, guid: 3fbde2e562e333d488bc46986fc6f4f1,
+ 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: 50
+ m_fontSizeBase: 50
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 21.2
+ m_fontSizeMax: 72
+ 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: 1
+ 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}
+ preserveNumbers: 0
+ farsi: 1
+ originalText: "\u0627\u0639\u062F\u0627\u062F \u0641\u0627\u0631\u0633\u064A 123
+ \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0628\u0632\u0631\u06AF\u0627\u0646."
+ fixTags: 1
+ forceFix: 0
+--- !u!222 &209932495
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 209932492}
+ m_CullTransparentMesh: 0
--- !u!1 &282840810
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 282840814}
@@ -134,20 +286,24 @@ GameObject:
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 282840810}
m_Enabled: 1
--- !u!20 &282840813
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 282840810}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
@@ -181,7 +337,8 @@ Camera:
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 282840810}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
@@ -194,7 +351,8 @@ Transform:
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 483174607}
@@ -211,7 +369,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 483174606}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -231,7 +390,8 @@ RectTransform:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 483174606}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -241,13 +401,12 @@ MonoBehaviour:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
+ m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_text: "\uFB90\uFEE0\uFEE4\uFEEA\uFEEB\uFE8E \uFEA3\uFE98\uFBFD \uFEE3\uFBFF\uFE98\uFEEE\u0627\uFEE7\uFEE8\uFEAA
- \uFE91\uFE8E\uFEDF\uFE8E \uFBFE\uFE8E \uFB58\uFE8E\uFBFE\uFBFF\uFEE6
+ \uFE91\uFE8E\uFEFB \uFBFE\uFE8E \uFB58\uFE8E\uFBFE\uFBFF\uFEE6
\uFE91\uFE8E\uFEB7\uFEE8\uFEAA"
m_isRightToLeft: 1
m_fontAsset: {fileID: 11400000, guid: 3fbde2e562e333d488bc46986fc6f4f1, type: 2}
@@ -261,6 +420,7 @@ MonoBehaviour:
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}
@@ -269,13 +429,12 @@ MonoBehaviour:
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_outlineColor:
- serializedVersion: 2
- rgba: 4278190080
m_fontSize: 50
m_fontSizeBase: 50
m_fontWeight: 400
@@ -283,8 +442,9 @@ MonoBehaviour:
m_fontSizeMin: 21.2
m_fontSizeMax: 72
m_fontStyle: 0
- m_textAlignment: 514
- m_isAlignmentEnumConverted: 1
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
@@ -294,10 +454,8 @@ MonoBehaviour:
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
- m_firstOverflowCharacterIndex: 28
m_linkedTextComponent: {fileID: 0}
- m_isLinkedTextComponent: 0
- m_isTextTruncated: 0
+ parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
@@ -305,42 +463,18 @@ MonoBehaviour:
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
- m_ignoreRectMaskCulling: 0
- m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
- m_firstVisibleCharacter: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 483174608}
- characterCount: 39
- spriteCount: 0
- spaceCount: 6
- wordCount: 7
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_havePropertiesChanged: 0
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 0}
- m_isInputParsingRequired: 0
- m_inputSource: 3
m_hasFontAssetChanged: 0
- m_subTextObjects:
- - {fileID: 0}
- - {fileID: 490255908}
- - {fileID: 1078616043}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
preserveNumbers: 1
@@ -354,19 +488,20 @@ MonoBehaviour:
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 483174606}
m_CullTransparentMesh: 0
--- !u!1 &490255907
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 490255910}
- component: {fileID: 490255909}
- - component: {fileID: 490255908}
m_Layer: 0
m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
m_TagString: Untagged
@@ -374,46 +509,20 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!114 &490255908
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 490255907}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0.5
- m_canvasRenderer: {fileID: 490255909}
- m_TextComponent: {fileID: 483174608}
- m_materialReferenceIndex: 1
--- !u!222 &490255909
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 490255907}
m_CullTransparentMesh: 0
--- !u!224 &490255910
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 490255907}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -431,7 +540,8 @@ RectTransform:
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 645895902}
@@ -448,7 +558,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 645895901}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -468,7 +579,8 @@ RectTransform:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 645895901}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -478,11 +590,10 @@ MonoBehaviour:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
+ m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_text: "\uFEE3\uFE98\uFEE6 \u0632\u0631\u062F \uFEB3\uFE8E\u062F\u0647"
m_isRightToLeft: 1
m_fontAsset: {fileID: 11400000, guid: 3fbde2e562e333d488bc46986fc6f4f1, type: 2}
@@ -496,6 +607,7 @@ MonoBehaviour:
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}
@@ -504,13 +616,12 @@ MonoBehaviour:
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_outlineColor:
- serializedVersion: 2
- rgba: 4278190080
m_fontSize: 50
m_fontSizeBase: 50
m_fontWeight: 400
@@ -518,8 +629,9 @@ MonoBehaviour:
m_fontSizeMin: 21.2
m_fontSizeMax: 72
m_fontStyle: 0
- m_textAlignment: 514
- m_isAlignmentEnumConverted: 1
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
@@ -529,10 +641,8 @@ MonoBehaviour:
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
- m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
- m_isLinkedTextComponent: 0
- m_isTextTruncated: 0
+ parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
@@ -540,42 +650,18 @@ MonoBehaviour:
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
- m_ignoreRectMaskCulling: 0
- m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
- m_firstVisibleCharacter: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 645895903}
- characterCount: 12
- spriteCount: 0
- spaceCount: 2
- wordCount: 3
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_havePropertiesChanged: 0
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 0}
- m_isInputParsingRequired: 0
- m_inputSource: 0
m_hasFontAssetChanged: 0
- m_subTextObjects:
- - {fileID: 0}
- - {fileID: 1127370894}
- - {fileID: 681459123}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
preserveNumbers: 1
@@ -587,19 +673,20 @@ MonoBehaviour:
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 645895901}
m_CullTransparentMesh: 0
--- !u!1 &648455411
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 648455412}
- component: {fileID: 648455414}
- - component: {fileID: 648455413}
m_Layer: 0
m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
m_TagString: Untagged
@@ -611,7 +698,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 648455411}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -625,53 +713,26 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &648455413
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 648455411}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0
- m_canvasRenderer: {fileID: 648455414}
- m_TextComponent: {fileID: 1817191382}
- m_materialReferenceIndex: 2
--- !u!222 &648455414
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 648455411}
m_CullTransparentMesh: 0
--- !u!1 &681459121
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 681459122}
- component: {fileID: 681459124}
- - component: {fileID: 681459123}
m_Layer: 0
- m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
+ m_Name: TMP SubMeshUI [segoeui RTL SDF Material + segoeui Numbers SDF Atlas]
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -681,7 +742,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 681459121}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -695,51 +757,24 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &681459123
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 681459121}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0
- m_canvasRenderer: {fileID: 681459124}
- m_TextComponent: {fileID: 645895903}
- m_materialReferenceIndex: 2
--- !u!222 &681459124
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 681459121}
m_CullTransparentMesh: 0
--- !u!1 &872481497
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 872481500}
- component: {fileID: 872481499}
- - component: {fileID: 872481498}
m_Layer: 0
m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
m_TagString: Untagged
@@ -747,46 +782,20 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!114 &872481498
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 872481497}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0.5
- m_canvasRenderer: {fileID: 872481499}
- m_TextComponent: {fileID: 1817191382}
- m_materialReferenceIndex: 1
--- !u!222 &872481499
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 872481497}
m_CullTransparentMesh: 0
--- !u!224 &872481500
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 872481497}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -804,7 +813,8 @@ RectTransform:
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 889652355}
@@ -821,11 +831,12 @@ GameObject:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 889652352}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
@@ -839,11 +850,12 @@ MonoBehaviour:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 889652352}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
@@ -853,7 +865,8 @@ MonoBehaviour:
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 889652352}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -866,12 +879,12 @@ Transform:
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1078616042}
- component: {fileID: 1078616044}
- - component: {fileID: 1078616043}
m_Layer: 0
m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
m_TagString: Untagged
@@ -883,7 +896,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078616041}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -897,51 +911,24 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1078616043
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 1078616041}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0
- m_canvasRenderer: {fileID: 1078616044}
- m_TextComponent: {fileID: 483174608}
- m_materialReferenceIndex: 2
--- !u!222 &1078616044
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1078616041}
m_CullTransparentMesh: 0
--- !u!1 &1127370892
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1127370893}
- component: {fileID: 1127370895}
- - component: {fileID: 1127370894}
m_Layer: 0
m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
m_TagString: Untagged
@@ -953,7 +940,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1127370892}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -967,46 +955,20 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1127370894
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 1127370892}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 058cba836c1846c3aa1c5fd2e28aea77, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
- m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
- m_spriteAsset: {fileID: 0}
- m_material: {fileID: 0}
- m_sharedMaterial: {fileID: 0}
- m_isDefaultMaterial: 0
- m_padding: 0.5
- m_canvasRenderer: {fileID: 1127370895}
- m_TextComponent: {fileID: 645895903}
- m_materialReferenceIndex: 1
--- !u!222 &1127370895
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1127370892}
m_CullTransparentMesh: 0
--- !u!1 &1404080887
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1404080890}
@@ -1024,11 +986,12 @@ GameObject:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404080887}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
@@ -1040,7 +1003,8 @@ MonoBehaviour:
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404080887}
m_Enabled: 1
serializedVersion: 3
@@ -1060,7 +1024,8 @@ Canvas:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404080887}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -1069,6 +1034,7 @@ RectTransform:
- {fileID: 645895902}
- {fileID: 1817191381}
- {fileID: 483174607}
+ - {fileID: 209932493}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1081,11 +1047,12 @@ RectTransform:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404080887}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
@@ -1098,11 +1065,56 @@ MonoBehaviour:
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
+--- !u!1 &1720883042
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1720883043}
+ - component: {fileID: 1720883044}
+ m_Layer: 0
+ m_Name: TMP SubMeshUI [segoeui RTL SDF Material + LiberationSans SDF Atlas]
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1720883043
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1720883042}
+ 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_Children: []
+ m_Father: {fileID: 209932493}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1720883044
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1720883042}
+ m_CullTransparentMesh: 0
--- !u!1 &1817191380
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1817191381}
@@ -1119,7 +1131,8 @@ GameObject:
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1817191380}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
@@ -1139,7 +1152,8 @@ RectTransform:
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1817191380}
m_Enabled: 1
m_EditorHideFlags: 0
@@ -1149,11 +1163,10 @@ MonoBehaviour:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
+ m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
- Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_text: "\uFB90\uFEE0\uFEE4\uFEEA\uFEEB\uFE8E \uFEE3\uFBFF\uFE98\uFEEE\u0627\uFEE7\uFEE8\uFEAA
\u062F\u0631 \u0648\uFEB3\uFEC2 \uFE9F\uFEE4\uFEE0\uFEEA \uFE91\uFEB0\u0631\u06AF
\uFE91\uFE8E\uFEB7\uFEE8\uFEAA"
@@ -1169,6 +1182,7 @@ MonoBehaviour:
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}
@@ -1177,13 +1191,12 @@ MonoBehaviour:
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_outlineColor:
- serializedVersion: 2
- rgba: 4278190080
m_fontSize: 50
m_fontSizeBase: 50
m_fontWeight: 400
@@ -1191,8 +1204,9 @@ MonoBehaviour:
m_fontSizeMin: 21.2
m_fontSizeMax: 72
m_fontStyle: 0
- m_textAlignment: 514
- m_isAlignmentEnumConverted: 1
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
@@ -1202,10 +1216,8 @@ MonoBehaviour:
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
- m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
- m_isLinkedTextComponent: 0
- m_isTextTruncated: 0
+ parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
@@ -1213,42 +1225,18 @@ MonoBehaviour:
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
- m_ignoreRectMaskCulling: 0
- m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
- m_firstVisibleCharacter: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 1817191382}
- characterCount: 38
- spriteCount: 0
- spaceCount: 6
- wordCount: 7
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_havePropertiesChanged: 0
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 0}
- m_isInputParsingRequired: 0
- m_inputSource: 0
m_hasFontAssetChanged: 0
- m_subTextObjects:
- - {fileID: 0}
- - {fileID: 872481498}
- - {fileID: 648455413}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
preserveNumbers: 1
@@ -1262,6 +1250,51 @@ MonoBehaviour:
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1817191380}
m_CullTransparentMesh: 0
+--- !u!1 &1887986673
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1887986674}
+ - component: {fileID: 1887986675}
+ m_Layer: 0
+ m_Name: TMP SubMeshUI [segoeui RTL SDF Material + segoeui Numbers SDF Atlas]
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1887986674
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1887986673}
+ 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_Children: []
+ m_Father: {fileID: 209932493}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1887986675
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1887986673}
+ m_CullTransparentMesh: 0
diff --git a/Assets/RTLTMPro/Scripts.meta b/Assets/RTLTMPro/Scripts.meta
new file mode 100644
index 0000000..01edef1
--- /dev/null
+++ b/Assets/RTLTMPro/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f3d58fb5f5194e94b86386b3486a9e68
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Scripts/Editor.meta b/Assets/RTLTMPro/Scripts/Editor.meta
new file mode 100644
index 0000000..d9f0679
--- /dev/null
+++ b/Assets/RTLTMPro/Scripts/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c6c18abdc8a69b7408f1ed882aa3c674
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Scripts/Editor/RTLTMPro-Editor.asmdef b/Assets/RTLTMPro/Scripts/Editor/RTLTMPro-Editor.asmdef
index e1b5262..11b43e9 100644
--- a/Assets/RTLTMPro/Scripts/Editor/RTLTMPro-Editor.asmdef
+++ b/Assets/RTLTMPro/Scripts/Editor/RTLTMPro-Editor.asmdef
@@ -5,7 +5,6 @@
"Unity.TextMeshPro.Editor",
"Unity.TextMeshPro"
],
- "optionalUnityReferences": [],
"includePlatforms": [
"Editor"
],
@@ -14,5 +13,13 @@
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
- "defineConstraints": []
+ "defineConstraints": [],
+ "versionDefines": [
+ {
+ "name": "com.unity.textmeshpro",
+ "expression": "2.1.0",
+ "define": "TMP_VERSION_2_1_0_OR_NEWER"
+ }
+ ],
+ "noEngineReferences": false
}
\ No newline at end of file
diff --git a/Assets/RTLTMPro/Scripts/Editor/RTLTextMeshProEditor.cs b/Assets/RTLTMPro/Scripts/Editor/RTLTextMeshProEditor.cs
index ce176ee..2192b56 100644
--- a/Assets/RTLTMPro/Scripts/Editor/RTLTextMeshProEditor.cs
+++ b/Assets/RTLTMPro/Scripts/Editor/RTLTextMeshProEditor.cs
@@ -2,14 +2,12 @@
using UnityEditor;
using UnityEngine;
-
-#if !TMP_Version_2_1_1
-using TMP_UiEditorPanel = TMPro.EditorUtilities.TMP_UiEditorPanel;
-#else
+#if TMP_VERSION_2_1_0_OR_NEWER
using TMP_UiEditorPanel = TMPro.EditorUtilities.TMP_EditorPanelUI;
+#else
+using TMP_UiEditorPanel = TMPro.EditorUtilities.TMP_UiEditorPanel;
#endif
-
namespace RTLTMPro
{
[CustomEditor(typeof(RTLTextMeshPro)), CanEditMultipleObjects]
diff --git a/Assets/RTLTMPro/Scripts/Runtime.meta b/Assets/RTLTMPro/Scripts/Runtime.meta
new file mode 100644
index 0000000..e056026
--- /dev/null
+++ b/Assets/RTLTMPro/Scripts/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 147605ae7c566f84b9bca8a6f50e63f6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Scripts/Runtime/GlyphFixer.cs b/Assets/RTLTMPro/Scripts/Runtime/GlyphFixer.cs
index ce2e3a2..c4aab75 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/GlyphFixer.cs
+++ b/Assets/RTLTMPro/Scripts/Runtime/GlyphFixer.cs
@@ -1,7 +1,38 @@
+using System.Collections.Generic;
+
namespace RTLTMPro
{
public static class GlyphFixer
{
+ public static Dictionary EnglishToFarsiNumberMap = new Dictionary()
+ {
+ [(char)EnglishNumbers.Zero] = (char)FarsiNumbers.Zero,
+ [(char)EnglishNumbers.One] = (char)FarsiNumbers.One,
+ [(char)EnglishNumbers.Two] = (char)FarsiNumbers.Two,
+ [(char)EnglishNumbers.Three] = (char)FarsiNumbers.Three,
+ [(char)EnglishNumbers.Four] = (char)FarsiNumbers.Four,
+ [(char)EnglishNumbers.Five] = (char)FarsiNumbers.Five,
+ [(char)EnglishNumbers.Six] = (char)FarsiNumbers.Six,
+ [(char)EnglishNumbers.Seven] = (char)FarsiNumbers.Seven,
+ [(char)EnglishNumbers.Eight] = (char)FarsiNumbers.Eight,
+ [(char)EnglishNumbers.Nine] = (char)FarsiNumbers.Nine,
+ };
+
+ public static Dictionary EnglishToHinduNumberMap = new Dictionary()
+ {
+ [(char)EnglishNumbers.Zero] = (char)FarsiNumbers.Zero,
+ [(char)EnglishNumbers.One] = (char)FarsiNumbers.One,
+ [(char)EnglishNumbers.Two] = (char)FarsiNumbers.Two,
+ [(char)EnglishNumbers.Three] = (char)FarsiNumbers.Three,
+ [(char)EnglishNumbers.Four] = (char)FarsiNumbers.Four,
+ [(char)EnglishNumbers.Five] = (char)FarsiNumbers.Five,
+ [(char)EnglishNumbers.Six] = (char)FarsiNumbers.Six,
+ [(char)EnglishNumbers.Seven] = (char)FarsiNumbers.Seven,
+ [(char)EnglishNumbers.Eight] = (char)FarsiNumbers.Eight,
+ [(char)EnglishNumbers.Nine] = (char)FarsiNumbers.Nine,
+ };
+
+
///
/// Fixes the shape of letters based on their position.
///
@@ -10,7 +41,7 @@ public static class GlyphFixer
///
///
///
- public static void Fix(FastStringBuilder input, FastStringBuilder output, bool preserveNumbers, bool farsi)
+ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool preserveNumbers, bool farsi, bool fixTextTags)
{
FixYah(input, farsi);
@@ -46,12 +77,10 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool p
if (IsMiddleLetter(input, i))
{
output.Set(i, (char)(converted + 3));
- }
- else if (IsFinishingLetter(input, i))
+ } else if (IsFinishingLetter(input, i))
{
output.Set(i, (char)(converted + 1));
- }
- else if (IsLeadingLetter(input, i))
+ } else if (IsLeadingLetter(input, i))
{
output.Set(i, (char)(converted + 2));
}
@@ -67,7 +96,13 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool p
if (!preserveNumbers)
{
- FixNumbers(output, farsi);
+ if (fixTextTags)
+ {
+ FixNumbersOutsideOfTags(output, farsi);
+ } else
+ {
+ FixNumbers(output, farsi);
+ }
}
}
@@ -84,8 +119,7 @@ public static void FixYah(FastStringBuilder text, bool farsi)
if (farsi && text.Get(i) == (int)GeneralLetters.Ya)
{
text.Set(i, (char)GeneralLetters.PersianYa);
- }
- else if (farsi == false && text.Get(i) == (int)GeneralLetters.PersianYa)
+ } else if (farsi == false && text.Get(i) == (int)GeneralLetters.PersianYa)
{
text.Set(i, (char)GeneralLetters.Ya);
}
@@ -153,6 +187,46 @@ public static void FixNumbers(FastStringBuilder text, bool farsi)
text.Replace((char)EnglishNumbers.Nine, farsi ? (char)FarsiNumbers.Nine : (char)HinduNumbers.Nine);
}
+ ///
+ /// Converts English numbers that are outside tags to Persian or Arabic numbers.
+ ///
+ ///
+ ///
+ /// Text with converted numbers
+ public static void FixNumbersOutsideOfTags(FastStringBuilder text, bool farsi)
+ {
+ var englishDigits = new HashSet(EnglishToFarsiNumberMap.Keys);
+ for (int i = 0; i < text.Length; i++)
+ {
+ var iChar = text.Get(i);
+ // skip valid tags
+ if (iChar == '<')
+ {
+ bool sawValidTag = false;
+ for (int j = i + 1; j < text.Length; j++)
+ {
+ char jChar = text.Get(j);
+ if (jChar == ' ' || TextUtils.IsRTLCharacter(jChar))
+ {
+ break;
+ } else if (jChar == '>')
+ {
+ i = j;
+ sawValidTag = true;
+ break;
+ }
+ }
+
+ if (sawValidTag) continue;
+ }
+
+ if (englishDigits.Contains(iChar))
+ {
+ text.Set(i, farsi ? EnglishToFarsiNumberMap[iChar] : EnglishToHinduNumberMap[iChar]);
+ }
+ }
+ }
+
///
/// Is the letter at provided index a leading letter?
///
diff --git a/Assets/RTLTMPro/Scripts/Runtime/LigatureFixer.cs b/Assets/RTLTMPro/Scripts/Runtime/LigatureFixer.cs
index 0f5e44e..41a7cec 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/LigatureFixer.cs
+++ b/Assets/RTLTMPro/Scripts/Runtime/LigatureFixer.cs
@@ -5,6 +5,24 @@ namespace RTLTMPro
public static class LigatureFixer
{
private static readonly List LtrTextHolder = new List(512);
+ private static readonly List TagTextHolder = new List(512);
+ private static readonly Dictionary MirroredCharsMap = new Dictionary()
+ {
+ ['('] = ')',
+ [')'] = '(',
+ ['»'] = '«',
+ ['«'] = '»',
+ };
+ private static readonly HashSet MirroredCharsSet = new HashSet(MirroredCharsMap.Keys);
+ private static void FlushBufferToOutput(List buffer, FastStringBuilder output)
+ {
+ for (int j = 0; j < buffer.Count; j++)
+ {
+ output.Append(buffer[buffer.Count - 1 - j]);
+ }
+
+ buffer.Clear();
+ }
///
/// Fixes the flow of the text.
@@ -14,6 +32,7 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool f
// Some texts like tags, English words and numbers need to be displayed in their original order.
// This list keeps the characters that their order should be reserved and streams reserved texts into final letters.
LtrTextHolder.Clear();
+ TagTextHolder.Clear();
for (int i = input.Length - 1; i >= 0; i--)
{
bool isInMiddle = i > 0 && i < input.Length - 1;
@@ -30,165 +49,65 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool f
if (!isAtBeginning)
previousCharacter = input.Get(i - 1);
- if (char.IsPunctuation(characterAtThisIndex) || char.IsSymbol(characterAtThisIndex))
+ if (fixTextTags)
{
- if (fixTextTags)
+ if (characterAtThisIndex == '>')
{
- if (characterAtThisIndex == '>')
+ // We need to check if it is actually the beginning of a tag.
+ bool isValidTag = false;
+ int nextI = i;
+ TagTextHolder.Add(characterAtThisIndex);
+
+ for (int j = i - 1; j >= 0; j--)
{
- // We need to check if it is actually the beginning of a tag.
- bool isValidTag = false;
- // If > is at the end of the text (At beginning of the array), it can't be a tag
- if (isAtEnd == false)
+ var jChar = input.Get(j);
+ // Tags do not have space inside
+ if (jChar == ' ')
{
- for (int j = i - 1; j >= 0; j--)
- {
- // Tags do not have space inside
- if (input.Get(j) == ' ')
- {
- break;
- }
-
- // Tags do not have RTL characters inside
- if (TextUtils.IsRTLCharacter(input.Get(j)))
- {
- break;
- }
-
- if (input.Get(j) == '<')
- {
- isValidTag = true;
- break;
- }
- }
+ break;
}
- if (LtrTextHolder.Count > 0 && isValidTag)
+ // Tags do not have RTL characters inside
+ if (TextUtils.IsRTLCharacter(jChar))
{
- for (int j = 0; j < LtrTextHolder.Count; j++)
- {
- output.Append(LtrTextHolder[LtrTextHolder.Count - 1 - j]);
- }
-
- LtrTextHolder.Clear();
+ break;
}
- }
- }
- if (characterAtThisIndex == ')')
- {
- if (isInMiddle)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
+ TagTextHolder.Add(jChar);
- if (isAfterRTLCharacter || isBeforeRTLCharacter)
- {
- characterAtThisIndex = '(';
- }
- }
- else if (isAtEnd)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- if (isAfterRTLCharacter)
- {
- characterAtThisIndex = '(';
- }
- }
- else if (isAtBeginning)
- {
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isBeforeRTLCharacter)
+ if (jChar == '<')
{
- characterAtThisIndex = '(';
+ isValidTag = true;
+ nextI = j;
+ break;
}
}
- }
- else if (characterAtThisIndex == '(')
- {
- if (isInMiddle)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isAfterRTLCharacter || isBeforeRTLCharacter)
- {
- characterAtThisIndex = ')';
- }
- }
- else if (isAtEnd)
+ if (isValidTag)
{
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- if (isAfterRTLCharacter)
- {
- characterAtThisIndex = ')';
- }
- }
- else if (isAtBeginning)
+ FlushBufferToOutput(LtrTextHolder, output);
+ FlushBufferToOutput(TagTextHolder, output);
+ i = nextI;
+ continue;
+ } else
{
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isBeforeRTLCharacter)
- {
- characterAtThisIndex = ')';
- }
+ TagTextHolder.Clear();
}
}
- else if (characterAtThisIndex == '«')
- {
- if (isInMiddle)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
+ }
- if (isAfterRTLCharacter || isBeforeRTLCharacter)
- {
- characterAtThisIndex = '»';
- }
- }
- else if (isAtEnd)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isAfterRTLCharacter)
- {
- characterAtThisIndex = '»';
- }
- }
- else if (isAtBeginning)
- {
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- if (isBeforeRTLCharacter)
- {
- characterAtThisIndex = '»';
- }
- }
- }
- else if (characterAtThisIndex == '»')
+ if (char.IsPunctuation(characterAtThisIndex) || char.IsSymbol(characterAtThisIndex))
+ {
+
+ if (MirroredCharsSet.Contains(characterAtThisIndex))
{
- if (isInMiddle)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
+ // IsRTLCharacter returns false for null
+ bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
+ bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isAfterRTLCharacter || isBeforeRTLCharacter)
- {
- characterAtThisIndex = '«';
- }
- }
- else if (isAtEnd)
- {
- bool isAfterRTLCharacter = TextUtils.IsRTLCharacter(nextCharacter);
- if (isAfterRTLCharacter)
- {
- characterAtThisIndex = '«';
- }
- }
- else if (isAtBeginning)
+ if (isAfterRTLCharacter || isBeforeRTLCharacter)
{
- bool isBeforeRTLCharacter = TextUtils.IsRTLCharacter(previousCharacter);
- if (isBeforeRTLCharacter)
- {
- characterAtThisIndex = '«';
- }
+ characterAtThisIndex = MirroredCharsMap[characterAtThisIndex];
}
}
@@ -209,74 +128,20 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool f
isBeforeRTLCharacter && isAfterWhiteSpace ||
(isBeforeRTLCharacter || isAfterRTLCharacter) && isUnderline)
{
- if (LtrTextHolder.Count > 0)
- {
- for (int j = 0; j < LtrTextHolder.Count; j++)
- {
- output.Append(LtrTextHolder[LtrTextHolder.Count - 1 - j]);
- }
-
- LtrTextHolder.Clear();
- }
-
+ FlushBufferToOutput(LtrTextHolder, output);
output.Append(characterAtThisIndex);
- }
- else
+ } else
{
LtrTextHolder.Add(characterAtThisIndex);
}
- }
- else if (isAtEnd)
+ } else if (isAtEnd)
{
LtrTextHolder.Add(characterAtThisIndex);
- }
- else if (isAtBeginning)
+ } else if (isAtBeginning)
{
output.Append(characterAtThisIndex);
}
- if (fixTextTags)
- {
- if (characterAtThisIndex == '<')
- {
- bool valid = false;
-
- if (isAtBeginning == false)
- {
- for (int j = i + 1; j < input.Length; j++)
- {
- // Tags do not have space inside
- if (input.Get(j) == ' ')
- {
- break;
- }
-
- // Tags do not have RTL characters inside
- if (TextUtils.IsRTLCharacter(input.Get(j)))
- {
- break;
- }
-
- if (input.Get(j) == '>')
- {
- valid = true;
- break;
- }
- }
- }
-
- if (LtrTextHolder.Count > 0 && valid)
- {
- for (int j = 0; j < LtrTextHolder.Count; j++)
- {
- output.Append(LtrTextHolder[LtrTextHolder.Count - 1 - j]);
- }
-
- LtrTextHolder.Clear();
- }
- }
- }
-
continue;
}
@@ -315,15 +180,7 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool f
continue;
}
- if (LtrTextHolder.Count > 0)
- {
- for (int j = 0; j < LtrTextHolder.Count; j++)
- {
- output.Append(LtrTextHolder[LtrTextHolder.Count - 1 - j]);
- }
-
- LtrTextHolder.Clear();
- }
+ FlushBufferToOutput(LtrTextHolder, output);
if (characterAtThisIndex != 0xFFFF &&
characterAtThisIndex != (int)GeneralLetters.ZeroWidthNoJoiner)
@@ -332,15 +189,7 @@ public static void Fix(FastStringBuilder input, FastStringBuilder output, bool f
}
}
- if (LtrTextHolder.Count > 0)
- {
- for (int j = 0; j < LtrTextHolder.Count; j++)
- {
- output.Append(LtrTextHolder[LtrTextHolder.Count - 1 - j]);
- }
-
- LtrTextHolder.Clear();
- }
+ FlushBufferToOutput(LtrTextHolder, output);
}
}
}
\ No newline at end of file
diff --git a/Assets/RTLTMPro/Scripts/Runtime/RTLSupport.cs b/Assets/RTLTMPro/Scripts/Runtime/RTLSupport.cs
index ded8e57..602e92e 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/RTLSupport.cs
+++ b/Assets/RTLTMPro/Scripts/Runtime/RTLSupport.cs
@@ -1,6 +1,4 @@
-using System.Text;
-
-// ReSharper disable IdentifierTypo
+// ReSharper disable IdentifierTypo
// ReSharper disable CommentTypo
namespace RTLTMPro
@@ -8,10 +6,10 @@ namespace RTLTMPro
public static class RTLSupport
{
public const int DefaultBufferSize = 2048;
-
+
private static FastStringBuilder inputBuilder;
private static FastStringBuilder glyphFixerOutput;
-
+
static RTLSupport()
{
inputBuilder = new FastStringBuilder(DefaultBufferSize);
@@ -31,7 +29,7 @@ public static void FixRTL(
string input,
FastStringBuilder output,
bool farsi = true,
- bool fixTextTags = true,
+ bool fixTextTags = true,
bool preserveNumbers = false)
{
inputBuilder.SetValue(input);
@@ -39,21 +37,19 @@ public static void FixRTL(
TashkeelFixer.RemoveTashkeel(inputBuilder);
// The shape of the letters in shapeFixedLetters is fixed according to their position in word. But the flow of the text is not fixed.
- GlyphFixer.Fix(inputBuilder, glyphFixerOutput, preserveNumbers, farsi);
+ GlyphFixer.Fix(inputBuilder, glyphFixerOutput, preserveNumbers, farsi, fixTextTags);
//Restore tashkeel to their places.
TashkeelFixer.RestoreTashkeel(glyphFixerOutput);
// Fix flow of the text and put the result in FinalLetters field
LigatureFixer.Fix(glyphFixerOutput, output, farsi, fixTextTags, preserveNumbers);
-
if (fixTextTags)
{
RichTextFixer.Fix(output);
}
-
inputBuilder.Clear();
}
-
+
}
}
\ No newline at end of file
diff --git a/Assets/RTLTMPro/Scripts/Runtime/RTLTMPro.asmdef b/Assets/RTLTMPro/Scripts/Runtime/RTLTMPro.asmdef
index 8b6a0b6..8f5b99a 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/RTLTMPro.asmdef
+++ b/Assets/RTLTMPro/Scripts/Runtime/RTLTMPro.asmdef
@@ -3,12 +3,19 @@
"references": [
"Unity.TextMeshPro"
],
- "optionalUnityReferences": [],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
- "defineConstraints": []
+ "defineConstraints": [],
+ "versionDefines": [
+ {
+ "name": "com.unity.textmeshpro",
+ "expression": "2.1.0",
+ "define": "TMP_VERSION_2_1_0_OR_NEWER"
+ }
+ ],
+ "noEngineReferences": false
}
\ No newline at end of file
diff --git a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs
index 2f471bc..f34fb02 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs
+++ b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs
@@ -1,7 +1,4 @@
-//#define RTL_OVERRIDE
-
-using System.Text;
-using TMPro;
+using TMPro;
using UnityEngine;
namespace RTLTMPro
@@ -10,7 +7,7 @@ namespace RTLTMPro
public class RTLTextMeshPro : TextMeshProUGUI
{
// ReSharper disable once InconsistentNaming
-#if RTL_OVERRIDE
+#if TMP_VERSION_2_1_0_OR_NEWER
public override string text
#else
public new string text
@@ -72,7 +69,7 @@ public bool FixTags
}
}
- protected bool ForceFix
+ public bool ForceFix
{
get { return forceFix; }
set
@@ -114,8 +111,7 @@ public void UpdateText()
{
isRightToLeftText = false;
base.text = originalText;
- }
- else
+ } else
{
isRightToLeftText = true;
base.text = GetFixedText(originalText);
diff --git a/Assets/RTLTMPro/Scripts/Runtime/RichTextFixer.cs b/Assets/RTLTMPro/Scripts/Runtime/RichTextFixer.cs
index f441c72..6e6d992 100644
--- a/Assets/RTLTMPro/Scripts/Runtime/RichTextFixer.cs
+++ b/Assets/RTLTMPro/Scripts/Runtime/RichTextFixer.cs
@@ -15,10 +15,10 @@ public Tag(int start, int end)
End = end;
}
}
-
+
private static readonly List ClosedTags = new List(64);
private static readonly List ClosedTagsHash = new List(64);
-
+
///
/// Fixes rich text tags in input string and returns the result.
///
@@ -37,51 +37,50 @@ public static void Fix(FastStringBuilder text)
switch (tagType)
{
case 1: // Opening tag
- {
- Tag closingTag = default;
-
- // Search and find the closing tag for this
- bool foundClosingTag = false;
- for (int j = ClosedTagsHash.Count - 1; j >= 0; j--)
{
- if (ClosedTagsHash[j] == hashCode)
+ Tag closingTag = default;
+
+ // Search and find the closing tag for this
+ bool foundClosingTag = false;
+ for (int j = ClosedTagsHash.Count - 1; j >= 0; j--)
{
- closingTag = ClosedTags[j];
- foundClosingTag = true;
- ClosedTags.RemoveAt(j);
- ClosedTagsHash.RemoveAt(j);
- break;
+ if (ClosedTagsHash[j] == hashCode)
+ {
+ closingTag = ClosedTags[j];
+ foundClosingTag = true;
+ ClosedTags.RemoveAt(j);
+ ClosedTagsHash.RemoveAt(j);
+ break;
+ }
}
- }
- if (foundClosingTag)
- {
- // NOTE: order of execution is important here
+ if (foundClosingTag)
+ {
+ // NOTE: order of execution is important here
- int openingTagLength = tagEnd - tagStart;
- int closingTagLength = closingTag.End - closingTag.Start;
+ int openingTagLength = tagEnd - tagStart + 1;
+ int closingTagLength = closingTag.End - closingTag.Start + 1;
- text.Reverse(tagStart, openingTagLength);
- text.Reverse(closingTag.Start, closingTagLength);
+ text.Reverse(tagStart, openingTagLength);
+ text.Reverse(closingTag.Start, closingTagLength);
+ } else
+ {
+ text.Reverse(tagStart, tagEnd - tagStart + 1);
+ }
+
+ break;
}
- else
+ case 2: // Closing tag
{
- text.Reverse(tagStart, tagEnd - tagStart);
+ ClosedTags.Add(new Tag(tagStart, tagEnd));
+ ClosedTagsHash.Add(hashCode);
+ break;
}
-
- break;
- }
- case 2: // Closing tag
- {
- ClosedTags.Add(new Tag(tagStart, tagEnd));
- ClosedTagsHash.Add(hashCode);
- break;
- }
case 3: // Self contained tag
- {
- text.Reverse(tagStart, tagEnd - tagStart);
- break;
- }
+ {
+ text.Reverse(tagStart, tagEnd - tagStart + 1);
+ break;
+ }
}
i = tagEnd;
@@ -109,7 +108,7 @@ public static void FindTag(
for (int j = i + 1; j < str.Length; j++)
{
char jChar = str.Get(j);
-
+
if (calculateHashCode)
{
if (char.IsLetter(jChar))
@@ -119,14 +118,12 @@ public static void FindTag(
if (hashCode == 0)
{
hashCode = jChar.GetHashCode();
- }
- else
+ } else
{
hashCode = (hashCode * 397) ^ jChar.GetHashCode();
}
}
- }
- else if (hashCode != 0)
+ } else if (hashCode != 0)
{
// We have computed the hash code. Now we reached a non letter character. We need to stop
calculateHashCode = false;
@@ -134,17 +131,17 @@ public static void FindTag(
}
// Rich text tag cannot contain RTL chars
- if (TextUtils.IsRTLCharacter(jChar))
+ if (TextUtils.IsRTLCharacter(jChar) || jChar == ' ')
{
break;
}
-
+
if (jChar == '>')
{
// Check if the tag is closing, opening or self contained
tagStart = i;
- tagEnd = j + 1;
+ tagEnd = j;
if (str.Get(j - 1) == '/')
{
diff --git a/Assets/RTLTMPro/Tests.meta b/Assets/RTLTMPro/Tests.meta
new file mode 100644
index 0000000..e703066
--- /dev/null
+++ b/Assets/RTLTMPro/Tests.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 06cf2c81e8116fb46b91216de465ea15
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RTLTMPro/Tests/GlyphFixerTests.cs b/Assets/RTLTMPro/Tests/GlyphFixerTests.cs
index 1756fc6..41584a6 100644
--- a/Assets/RTLTMPro/Tests/GlyphFixerTests.cs
+++ b/Assets/RTLTMPro/Tests/GlyphFixerTests.cs
@@ -62,7 +62,7 @@ public void GlyphFixer_ConvertsNumbers_Farsi()
var text = GetEnglishNumbers();
var output = new FastStringBuilder(10);
- GlyphFixer.Fix(text, output, false, true);
+ GlyphFixer.Fix(text, output, false, true, false);
Debug.Log("Output: " + output);
@@ -75,7 +75,7 @@ public void GlyphFixer_ConvertsNumbers_Hindu()
var text = GetEnglishNumbers();
var output = new FastStringBuilder(10);
- GlyphFixer.Fix(text, output, false, false);
+ GlyphFixer.Fix(text, output, false, false, false);
Debug.Log("Output: " + output);
@@ -88,7 +88,7 @@ public void GlyphFixer_PreservesNumbers_WhenPreserveNumberIsTrue()
var text = GetEnglishNumbers();
var output = new FastStringBuilder(10);
- GlyphFixer.Fix(text, output, true, false);
+ GlyphFixer.Fix(text, output, true, false, false);
Assert.AreEqual(text.ToString(), output.ToString());
}
diff --git a/Assets/RTLTMPro/Tests/RichTextFixerTests.cs b/Assets/RTLTMPro/Tests/RichTextFixerTests.cs
index 95df959..0a9292d 100644
--- a/Assets/RTLTMPro/Tests/RichTextFixerTests.cs
+++ b/Assets/RTLTMPro/Tests/RichTextFixerTests.cs
@@ -17,7 +17,7 @@ public void FindTag_FindsSimpleOpeningTag()
// Assert
Assert.AreEqual(1, type);
Assert.AreEqual(5, start);
- Assert.AreEqual(14, end);
+ Assert.AreEqual(13, end);
}
[Test]
@@ -47,7 +47,7 @@ public void FindTag_FindsOpeningTagWithValue()
// Assert
Assert.AreEqual(1, type);
Assert.AreEqual(5, start);
- Assert.AreEqual(18, end);
+ Assert.AreEqual(17, end);
}
[Test]
@@ -59,7 +59,7 @@ public void FindTag_ProducesTheSameHash_ForOpeningTagsWithDifferentValues()
// Act
RichTextFixer.FindTag(text1, 0, out _, out _, out _, out var hashCode1);
- RichTextFixer.FindTag(text1, 0, out _, out _, out _, out var hashCode2);
+ RichTextFixer.FindTag(text2, 0, out _, out _, out _, out var hashCode2);
// Assert
Assert.AreEqual(hashCode1, hashCode2);
@@ -77,7 +77,7 @@ public void FindTag_FindsSimpleSelfContainedTag()
// Assert
Assert.AreEqual(3, type);
Assert.AreEqual(5, start);
- Assert.AreEqual(15, end);
+ Assert.AreEqual(14, end);
}
[Test]
@@ -92,7 +92,7 @@ public void FindTag_FindsSelfContainedTagWithValue()
// Assert
Assert.AreEqual(3, type);
Assert.AreEqual(5, start);
- Assert.AreEqual(19, end);
+ Assert.AreEqual(18, end);
}
[Test]
@@ -122,7 +122,7 @@ public void FindTag_FindsClosingTag()
// Assert
Assert.AreEqual(2, type);
Assert.AreEqual(5, start);
- Assert.AreEqual(15, end);
+ Assert.AreEqual(14, end);
}
[Test]
diff --git a/Assets/TextMesh Pro.meta b/Assets/TextMesh Pro.meta
new file mode 100644
index 0000000..6f792ae
--- /dev/null
+++ b/Assets/TextMesh Pro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f95414aad47d0d4f88fc982145c6c3d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Documentation.meta b/Assets/TextMesh Pro/Documentation.meta
new file mode 100644
index 0000000..ce6db85
--- /dev/null
+++ b/Assets/TextMesh Pro/Documentation.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f725fa0a79cbe514b9a12c635c0b52b5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources.meta b/Assets/TextMesh Pro/Resources.meta
new file mode 100644
index 0000000..57042b8
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 52c0b3e45ef069f4289ca24664ca7544
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials.meta b/Assets/TextMesh Pro/Resources/Fonts & Materials.meta
new file mode 100644
index 0000000..448e120
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources/Fonts & Materials.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1adfb5241fd800d458c5c41bbab6a5ad
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources/Shaders.meta b/Assets/TextMesh Pro/Resources/Shaders.meta
new file mode 100644
index 0000000..b0d6534
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources/Shaders.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 405ac602708305c43940a88d782da732
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources/Shaders/Text MeshPro.meta b/Assets/TextMesh Pro/Resources/Shaders/Text MeshPro.meta
new file mode 100644
index 0000000..8bd53c9
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources/Shaders/Text MeshPro.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a5c22249e82008240881030156d0fc59
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources/Sprite Assets.meta b/Assets/TextMesh Pro/Resources/Sprite Assets.meta
new file mode 100644
index 0000000..9b99b68
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources/Sprite Assets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f632ceb559ca7984d99a128b5ff48475
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Resources/Style Sheets.meta b/Assets/TextMesh Pro/Resources/Style Sheets.meta
new file mode 100644
index 0000000..ea4e33b
--- /dev/null
+++ b/Assets/TextMesh Pro/Resources/Style Sheets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 266db4d84cce64b4dbeb65989c479693
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TextMesh Pro/Sprites.meta b/Assets/TextMesh Pro/Sprites.meta
new file mode 100644
index 0000000..3148fa9
--- /dev/null
+++ b/Assets/TextMesh Pro/Sprites.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d64803565285fe6408c49e4d4dfe83e1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 159cda6..2320b66 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -2,20 +2,19 @@
"dependencies": {
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
- "com.unity.ads": "2.3.1",
- "com.unity.analytics": "3.3.2",
+ "com.unity.ads": "3.5.0",
+ "com.unity.analytics": "3.3.5",
"com.unity.collab-proxy": "1.2.16",
"com.unity.ext.nunit": "1.0.0",
- "com.unity.ide.rider": "1.1.0",
- "com.unity.ide.vscode": "1.1.0",
- "com.unity.multiplayer-hlapi": "1.0.2",
- "com.unity.package-manager-ui": "2.2.0",
- "com.unity.purchasing": "2.0.6",
- "com.unity.test-framework": "1.0.13",
- "com.unity.textmeshpro": "2.0.1",
- "com.unity.timeline": "1.1.0",
+ "com.unity.ide.rider": "1.1.4",
+ "com.unity.ide.vscode": "1.2.2",
+ "com.unity.multiplayer-hlapi": "1.0.6",
+ "com.unity.purchasing": "2.1.1",
+ "com.unity.test-framework": "1.1.18",
+ "com.unity.textmeshpro": "2.1.0",
+ "com.unity.timeline": "1.2.6",
"com.unity.ugui": "1.0.0",
- "com.unity.xr.legacyinputhelpers": "2.0.2",
+ "com.unity.xr.legacyinputhelpers": "2.1.4",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
new file mode 100644
index 0000000..4049e45
--- /dev/null
+++ b/Packages/packages-lock.json
@@ -0,0 +1,374 @@
+{
+ "dependencies": {
+ "com.unity.2d.sprite": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.2d.tilemap": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.ads": {
+ "version": "3.5.0",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.analytics": {
+ "version": "3.3.5",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.collab-proxy": {
+ "version": "1.2.16",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ext.nunit": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.rider": {
+ "version": "1.1.4",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.vscode": {
+ "version": "1.2.2",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.multiplayer-hlapi": {
+ "version": "1.0.6",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "nuget.mono-cecil": "0.1.6-preview"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.purchasing": {
+ "version": "2.1.1",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.test-framework": {
+ "version": "1.1.18",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ext.nunit": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.textmeshpro": {
+ "version": "2.1.0",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ugui": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.timeline": {
+ "version": "1.2.6",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ugui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0"
+ }
+ },
+ "com.unity.xr.legacyinputhelpers": {
+ "version": "2.1.4",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "nuget.mono-cecil": {
+ "version": "0.1.6-preview",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.modules.ai": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.androidjni": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.animation": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.assetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.audio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.cloth": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.director": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.animation": "1.0.0"
+ }
+ },
+ "com.unity.modules.imageconversion": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.imgui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.jsonserialize": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.particlesystem": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics2d": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.screencapture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.subsystems": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.terrain": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.terrainphysics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0"
+ }
+ },
+ "com.unity.modules.tilemap": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics2d": "1.0.0"
+ }
+ },
+ "com.unity.modules.ui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.uielements": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.umbra": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unityanalytics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequest": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unitywebrequestassetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestaudio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.audio": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequesttexture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestwww": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.vehicles": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.video": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.vr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+ },
+ "com.unity.modules.wind": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.xr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.subsystems": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset
index b967769..3ee4356 100644
--- a/ProjectSettings/EditorSettings.asset
+++ b/ProjectSettings/EditorSettings.asset
@@ -3,7 +3,7 @@
--- !u!159 &1
EditorSettings:
m_ObjectHideFlags: 0
- serializedVersion: 7
+ serializedVersion: 9
m_ExternalVersionControlSupport: Visible Meta Files
m_SerializationMode: 2
m_LineEndingsForNewScripts: 2
@@ -16,8 +16,20 @@ EditorSettings:
m_EtcTextureFastCompressor: 1
m_EtcTextureNormalCompressor: 2
m_EtcTextureBestCompressor: 4
- m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref
m_ProjectGenerationRootNamespace:
m_CollabEditorSettings:
inProgressEnabled: 1
+ m_EnableTextureStreamingInEditMode: 1
m_EnableTextureStreamingInPlayMode: 1
+ m_AsyncShaderCompilation: 1
+ m_EnterPlayModeOptionsEnabled: 0
+ m_EnterPlayModeOptions: 3
+ m_ShowLightmapResolutionOverlay: 1
+ m_UseLegacyProbeSampleCount: 1
+ m_AssetPipelineMode: 1
+ m_CacheServerMode: 0
+ m_CacheServerEndpoint:
+ m_CacheServerNamespacePrefix: default
+ m_CacheServerEnableDownload: 1
+ m_CacheServerEnableUpload: 1
diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset
new file mode 100644
index 0000000..9418901
--- /dev/null
+++ b/ProjectSettings/PackageManagerSettings.asset
@@ -0,0 +1,38 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+ m_ObjectHideFlags: 61
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 0}
+ m_Name:
+ m_EditorClassIdentifier: UnityEditor:UnityEditor.PackageManager.UI:PackageManagerProjectSettings
+ m_ScopedRegistriesSettingsExpanded: 1
+ oneTimeWarningShown: 0
+ m_Registries:
+ - m_Id: main
+ m_Name:
+ m_Url: https://packages.unity.com
+ m_Scopes: []
+ m_IsDefault: 1
+ m_UserSelectedRegistryName:
+ m_UserAddingNewScopedRegistry: 0
+ m_RegistryInfoDraft:
+ m_ErrorMessage:
+ m_Original:
+ m_Id:
+ m_Name:
+ m_Url:
+ m_Scopes: []
+ m_IsDefault: 0
+ m_Modified: 0
+ m_Name:
+ m_Url:
+ m_Scopes:
+ -
+ m_SelectedScopeIndex: 0
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index f18539f..a191481 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2019.2.3f1
-m_EditorVersionWithRevision: 2019.2.3f1 (8e55c27a4621)
+m_EditorVersion: 2019.4.14f1
+m_EditorVersionWithRevision: 2019.4.14f1 (4037e52648cd)