public static GetTextAnchorPivot ( TextAnchor anchor ) : Vector2 | ||
anchor | TextAnchor | |
return | Vector2 |
protected override void OnPopulateMesh(VertexHelper toFill) { if ((UnityEngine.Object) this.font == (UnityEngine.Object)null) { return; } this.m_DisableFontTextureRebuiltCallback = true; this.cachedTextGenerator.Populate(this.text, this.GetGenerationSettings(this.rectTransform.rect.size)); Rect rect = this.rectTransform.rect; Vector2 textAnchorPivot = Text.GetTextAnchorPivot(this.m_FontData.alignment); Vector2 zero = Vector2.zero; zero.x = Mathf.Lerp(rect.xMin, rect.xMax, textAnchorPivot.x); zero.y = Mathf.Lerp(rect.yMin, rect.yMax, textAnchorPivot.y); Vector2 vector2 = this.PixelAdjustPoint(zero) - zero; IList <UIVertex> verts = this.cachedTextGenerator.verts; float num1 = 1f / this.pixelsPerUnit; int num2 = verts.Count - 4; toFill.Clear(); if (vector2 != Vector2.zero) { for (int index1 = 0; index1 < num2; ++index1) { int index2 = index1 & 3; this.m_TempVerts[index2] = verts[index1]; this.m_TempVerts[index2].position *= num1; this.m_TempVerts[index2].position.x += vector2.x; this.m_TempVerts[index2].position.y += vector2.y; if (index2 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } } } else { for (int index1 = 0; index1 < num2; ++index1) { int index2 = index1 & 3; this.m_TempVerts[index2] = verts[index1]; this.m_TempVerts[index2].position *= num1; if (index2 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } } } this.m_DisableFontTextureRebuiltCallback = false; }
/*void RefreshEmojis() { * foreach( var go in deleteTheese ) { * if( go == null ) continue; * if( UnityEngine.Application.isPlaying == false && Application.isEditor ) { * //Debug.Log("Destroy 1"); * GameObject.DestroyImmediate( go ); * } else { * //Debug.Log("Destroy 2"); * GameObject.Destroy(go); * } * } * deleteTheese.Clear(); * foreach( var go in activateTheese ) { * if( go == null ) { * continue; * } * try { * if( go.GetComponent<Tastybits.EmojiAssist.Emoji>() != null ) { * go.GetComponent<Tastybits.EmojiAssist.Emoji>().UpdateContent(); * } * go.SetActive(true); * }catch{ * * } * } * activateTheese.Clear(); * }*/ // The void OrgPopulate(VertexHelper toFill) { if (this.font == null) { return; } //System.Reflection.BindingFlags bindFl = System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance; this.m_DisableFontTextureRebuiltCallback = true; Vector2 size = this.rectTransform.rect.size; TextGenerationSettings generationSettings = this.GetGenerationSettings(size); this.cachedTextGenerator.Populate(_text, generationSettings); Rect rect = this.rectTransform.rect; Vector2 textAnchorPivot = Text.GetTextAnchorPivot(this.alignment); Vector2 zero = Vector2.zero; zero.x = ((textAnchorPivot.x != 1f) ? rect.xMin : rect.xMax); zero.y = ((textAnchorPivot.y != 0f) ? rect.yMax : rect.yMin); Vector2 vector = base.PixelAdjustPoint(zero) - zero; IList <UIVertex> verts = this.cachedTextGenerator.verts; float num = 1f / this.pixelsPerUnit; int num2 = verts.Count - 4; toFill.Clear(); if (vector != Vector2.zero) { for (int i = 0; i < num2; i++) { int num3 = i & 3; this.m_TempVerts [num3] = verts[(i)]; UIVertex[] expr_147_cp_0 = this.m_TempVerts; int expr_147_cp_1 = num3; expr_147_cp_0 [expr_147_cp_1].position = expr_147_cp_0 [expr_147_cp_1].position * num; UIVertex[] expr_16B_cp_0_cp_0 = this.m_TempVerts; int expr_16B_cp_0_cp_1 = num3; expr_16B_cp_0_cp_0 [expr_16B_cp_0_cp_1].position.x = expr_16B_cp_0_cp_0 [expr_16B_cp_0_cp_1].position.x + vector.x; UIVertex[] expr_190_cp_0_cp_0 = this.m_TempVerts; int expr_190_cp_0_cp_1 = num3; expr_190_cp_0_cp_0 [expr_190_cp_0_cp_1].position.y = expr_190_cp_0_cp_0 [expr_190_cp_0_cp_1].position.y + vector.y; if (num3 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } } } else { for (int j = 0; j < num2; j++) { int num4 = j & 3; this.m_TempVerts [num4] = verts[(j)]; UIVertex[] expr_201_cp_0 = this.m_TempVerts; int expr_201_cp_1 = num4; expr_201_cp_0 [expr_201_cp_1].position = expr_201_cp_0 [expr_201_cp_1].position * num; if (num4 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } } } this.m_DisableFontTextureRebuiltCallback = false; }
void NewPopulate(VertexHelper toFill) { if (this.font == null) { return; } if (InputIsAppending) { Debug.Log("Input is changing text ignore it."); } if (_verbose) { Debug.Log("New populate"); } //System.Reflection.BindingFlags bindFl = System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance; this.m_DisableFontTextureRebuiltCallback = true; Vector2 size = this.rectTransform.rect.size; TextGenerationSettings generationSettings = this.GetGenerationSettings(size); this.cachedTextGenerator.Populate(_text, generationSettings); //this.cachedTextGenerator.Populate( _textAsStringWithEmojisReplaced, generationSettings ); Rect rect = this.rectTransform.rect; Vector2 textAnchorPivot = Text.GetTextAnchorPivot(this.alignment); Vector2 pivotPoint = Vector2.zero; pivotPoint.x = ((textAnchorPivot.x != 1f) ? rect.xMin : rect.xMax); pivotPoint.y = ((textAnchorPivot.y != 0f) ? rect.yMax : rect.yMin); Vector2 offset = base.PixelAdjustPoint(pivotPoint) - pivotPoint; IList <UIVertex> verts = this.cachedTextGenerator.verts; ProcessVerts(); //DoFillVBO( this.cachedTextGenerator, ref verts ); float units = 1f / this.pixelsPerUnit; int numCharVerts = verts.Count - 4; toFill.Clear(); if (offset != Vector2.zero) { for (int i = 0; i < numCharVerts; i++) { int num3 = i & 3; this.m_TempVerts [num3] = verts[(i)]; UIVertex[] expr_147_cp_0 = this.m_TempVerts; int expr_147_cp_1 = num3; expr_147_cp_0 [expr_147_cp_1].position = expr_147_cp_0 [expr_147_cp_1].position * units; UIVertex[] expr_16B_cp_0_cp_0 = this.m_TempVerts; int expr_16B_cp_0_cp_1 = num3; expr_16B_cp_0_cp_0 [expr_16B_cp_0_cp_1].position.x = expr_16B_cp_0_cp_0 [expr_16B_cp_0_cp_1].position.x + offset.x; UIVertex[] expr_190_cp_0_cp_0 = this.m_TempVerts; int expr_190_cp_0_cp_1 = num3; expr_190_cp_0_cp_0 [expr_190_cp_0_cp_1].position.y = expr_190_cp_0_cp_0 [expr_190_cp_0_cp_1].position.y + offset.y; if (num3 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } //string tmpCh = System.Text.RegularExpressions.Regex.Unescape( "\ud83d\ude02" ); } } else { for (int j = 0; j < numCharVerts; j++) { int num4 = j & 3; this.m_TempVerts [num4] = verts[(j)]; UIVertex[] expr_201_cp_0 = this.m_TempVerts; int expr_201_cp_1 = num4; expr_201_cp_0 [expr_201_cp_1].position = expr_201_cp_0 [expr_201_cp_1].position * units; if (num4 == 3) { toFill.AddUIVertexQuad(this.m_TempVerts); } } } //this.GetType().GetField( "m_TempVerts", bindFl ).SetValue(this, this.m_TempVerts ); this.m_DisableFontTextureRebuiltCallback = false; }