FiE-Game/Assets/TextMesh Pro/Scripts/Runtime/TMP_Style.cs
2023-07-26 17:55:11 +05:00

95 lines
2.6 KiB
C#

using UnityEngine;
using System.Collections;
#pragma warning disable 0649 // Disabled warnings.
namespace TMPro
{
[System.Serializable]
public class TMP_Style
{
// PUBLIC PROPERTIES
/// <summary>
/// The name identifying this style. ex. <style="name">.
/// </summary>
public string name
{ get { return m_Name; } set { if (value != m_Name) m_Name = value; } }
/// <summary>
/// The hash code corresponding to the name of this style.
/// </summary>
public int hashCode
{ get { return m_HashCode; } set { if (value != m_HashCode) m_HashCode = value; } }
/// <summary>
/// The initial definition of the style. ex. <b> <u>.
/// </summary>
public string styleOpeningDefinition
{ get { return m_OpeningDefinition; } }
/// <summary>
/// The closing definition of the style. ex. </b> </u>.
/// </summary>
public string styleClosingDefinition
{ get { return m_ClosingDefinition; } }
public int[] styleOpeningTagArray
{ get { return m_OpeningTagArray; } }
public int[] styleClosingTagArray
{ get { return m_ClosingTagArray; } }
// PRIVATE FIELDS
[SerializeField]
private string m_Name;
[SerializeField]
private int m_HashCode;
[SerializeField]
private string m_OpeningDefinition;
[SerializeField]
private string m_ClosingDefinition;
[SerializeField]
private int[] m_OpeningTagArray;
[SerializeField]
private int[] m_ClosingTagArray;
//public TMP_Style()
//{
//Debug.Log("New Style with Name: " + m_Name + " was created. ID: ");
//}
/// <summary>
/// Function to update the content of the int[] resulting from changes to OpeningDefinition & ClosingDefinition.
/// </summary>
public void RefreshStyle()
{
m_HashCode = TMP_TextUtilities.GetSimpleHashCode(m_Name);
m_OpeningTagArray = new int[m_OpeningDefinition.Length];
for (int i = 0; i < m_OpeningDefinition.Length; i++)
m_OpeningTagArray[i] = m_OpeningDefinition[i];
m_ClosingTagArray = new int[m_ClosingDefinition.Length];
for (int i = 0; i < m_ClosingDefinition.Length; i++)
m_ClosingTagArray[i] = m_ClosingDefinition[i];
#if UNITY_EDITOR
// Event to update objects when styles are changed in the editor.
TMPro_EventManager.ON_TEXT_STYLE_PROPERTY_CHANGED(true);
#endif
}
}
}