You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
| 
								 
											1 year ago
										 
									 | 
							
								using UnityEngine;
							 | 
						||
| 
								 | 
							
								using System.Collections;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace TMPro.Examples
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    public class Benchmark04 : MonoBehaviour
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public int SpawnType = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public int MinPointSize = 12;
							 | 
						||
| 
								 | 
							
								        public int MaxPointSize = 64;
							 | 
						||
| 
								 | 
							
								        public int Steps = 4;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        private Transform m_Transform;
							 | 
						||
| 
								 | 
							
								        //private TextMeshProFloatingText floatingText_Script;
							 | 
						||
| 
								 | 
							
								        //public Material material;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        void Start()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            m_Transform = transform;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            float lineHeight = 0;
							 | 
						||
| 
								 | 
							
								            float orthoSize = Camera.main.orthographicSize = Screen.height / 2;
							 | 
						||
| 
								 | 
							
								            float ratio = (float)Screen.width / Screen.height;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            for (int i = MinPointSize; i <= MaxPointSize; i += Steps)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                if (SpawnType == 0)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    // TextMesh Pro Implementation
							 | 
						||
| 
								 | 
							
								                    GameObject go = new GameObject("Text - " + i + " Pts");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    if (lineHeight > orthoSize * 2) return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    go.transform.position = m_Transform.position + new Vector3(ratio * -orthoSize * 0.975f, orthoSize * 0.975f - lineHeight, 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    TextMeshPro textMeshPro = go.AddComponent<TextMeshPro>();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    //textMeshPro.fontSharedMaterial = material;
							 | 
						||
| 
								 | 
							
								                    //textMeshPro.font = Resources.Load("Fonts & Materials/LiberationSans SDF", typeof(TextMeshProFont)) as TextMeshProFont;
							 | 
						||
| 
								 | 
							
								                    //textMeshPro.anchor = AnchorPositions.Left;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.rectTransform.pivot = new Vector2(0, 0.5f);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMeshPro.enableWordWrapping = false;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.extraPadding = true;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.isOrthographic = true;
							 | 
						||
| 
								 | 
							
								                    textMeshPro.fontSize = i;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMeshPro.text = i + " pts - Lorem ipsum dolor sit...";
							 | 
						||
| 
								 | 
							
								                    textMeshPro.color = new Color32(255, 255, 255, 255);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    lineHeight += i;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                else
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    // TextMesh Implementation
							 | 
						||
| 
								 | 
							
								                    // Causes crashes since atlas needed exceeds 4096 X 4096
							 | 
						||
| 
								 | 
							
								                    /*
							 | 
						||
| 
								 | 
							
								                    GameObject go = new GameObject("Arial " + i);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    //if (lineHeight > orthoSize * 2 * 0.9f) return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    go.transform.position = m_Transform.position + new Vector3(ratio * -orthoSize * 0.975f, orthoSize * 0.975f - lineHeight, 1);
							 | 
						||
| 
								 | 
							
								                                       
							 | 
						||
| 
								 | 
							
								                    TextMesh textMesh = go.AddComponent<TextMesh>();
							 | 
						||
| 
								 | 
							
								                    textMesh.font = Resources.Load("Fonts/ARIAL", typeof(Font)) as Font;
							 | 
						||
| 
								 | 
							
								                    textMesh.renderer.sharedMaterial = textMesh.font.material;
							 | 
						||
| 
								 | 
							
								                    textMesh.anchor = TextAnchor.MiddleLeft;
							 | 
						||
| 
								 | 
							
								                    textMesh.fontSize = i * 10;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    textMesh.color = new Color32(255, 255, 255, 255);
							 | 
						||
| 
								 | 
							
								                    textMesh.text = i + " pts - Lorem ipsum dolor sit...";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    lineHeight += i;
							 | 
						||
| 
								 | 
							
								                    */
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |