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.
57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
1 week ago
|
using TMPro;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
|
||
|
namespace Unity.BossRoom.Utils.Editor
|
||
|
{
|
||
|
public class NetworkOverlay : MonoBehaviour
|
||
|
{
|
||
|
public static NetworkOverlay Instance { get; private set; }
|
||
|
|
||
|
[SerializeField]
|
||
|
GameObject m_DebugCanvasPrefab;
|
||
|
|
||
|
Transform m_VerticalLayoutTransform;
|
||
|
|
||
|
void Awake()
|
||
|
{
|
||
|
Instance = this;
|
||
|
DontDestroyOnLoad(this);
|
||
|
}
|
||
|
|
||
|
public void AddTextToUI(string gameObjectName, string defaultText, out TextMeshProUGUI textComponent)
|
||
|
{
|
||
|
var rootGO = new GameObject(gameObjectName);
|
||
|
textComponent = rootGO.AddComponent<TextMeshProUGUI>();
|
||
|
textComponent.fontSize = 28;
|
||
|
textComponent.text = defaultText;
|
||
|
textComponent.horizontalAlignment = HorizontalAlignmentOptions.Left;
|
||
|
textComponent.verticalAlignment = VerticalAlignmentOptions.Middle;
|
||
|
textComponent.raycastTarget = false;
|
||
|
textComponent.autoSizeTextContainer = true;
|
||
|
|
||
|
var rectTransform = rootGO.GetComponent<RectTransform>();
|
||
|
AddToUI(rectTransform);
|
||
|
}
|
||
|
|
||
|
public void AddToUI(RectTransform displayTransform)
|
||
|
{
|
||
|
if (m_VerticalLayoutTransform == null)
|
||
|
{
|
||
|
CreateDebugCanvas();
|
||
|
}
|
||
|
|
||
|
displayTransform.sizeDelta = new Vector2(100f, 24f);
|
||
|
displayTransform.SetParent(m_VerticalLayoutTransform);
|
||
|
displayTransform.SetAsFirstSibling();
|
||
|
displayTransform.localScale = Vector3.one;
|
||
|
}
|
||
|
|
||
|
void CreateDebugCanvas()
|
||
|
{
|
||
|
var canvas = Instantiate(m_DebugCanvasPrefab, transform);
|
||
|
m_VerticalLayoutTransform = canvas.GetComponentInChildren<VerticalLayoutGroup>().transform;
|
||
|
}
|
||
|
}
|
||
|
}
|