4using System.Collections.Generic;
7 [AddComponentMenu(
"UI/Effects/Extensions/BestFit Outline")]
22 if (!this.IsActive ())
27 List<UIVertex> verts =
new List<UIVertex>();
28 using (var helper =
new VertexHelper(mesh))
30 helper.GetUIVertexStream(verts);
33 Text foundtext = GetComponent<Text>();
35 float best_fit_adjustment = 1f;
37 if (foundtext && foundtext.resizeTextForBestFit)
39 best_fit_adjustment = (float)foundtext.cachedTextGenerator.fontSizeUsedForBestFit / (foundtext.resizeTextMaxSize-1);
43 int count = verts.Count;
44 base.ApplyShadowZeroAlloc(verts, base.effectColor, start, verts.Count, base.effectDistance.x*best_fit_adjustment, base.effectDistance.y*best_fit_adjustment);
47 base.ApplyShadowZeroAlloc(verts, base.effectColor, start, verts.Count, base.effectDistance.x*best_fit_adjustment, -base.effectDistance.y*best_fit_adjustment);
50 base.ApplyShadowZeroAlloc(verts, base.effectColor, start, verts.Count, -base.effectDistance.x*best_fit_adjustment, base.effectDistance.y*best_fit_adjustment);
53 base.ApplyShadowZeroAlloc(verts, base.effectColor, start, verts.Count, -base.effectDistance.x*best_fit_adjustment, -base.effectDistance.y*best_fit_adjustment);
55 using (var helper =
new VertexHelper())
57 helper.AddUIVertexTriangleStream(verts);
58 helper.FillMesh(mesh);
override void ModifyMesh(Mesh mesh)
Credit Erdener Gonenc - @PixelEnvision.