Skip to content

Instantly share code, notes, and snippets.

@nomnomab
Created May 4, 2024 15:06
Show Gist options
  • Save nomnomab/529482922374455d164eb2153f542ef8 to your computer and use it in GitHub Desktop.
Save nomnomab/529482922374455d164eb2153f542ef8 to your computer and use it in GitHub Desktop.
Adds a context option to text types to quickly add some test sentences.
using TMPro;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
internal static class LoremIpsumExtension {
private const string LOREM_IPSUM_SHORT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
private const string LOREM_IPSUM_MEDIUM = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam gravida orci in efficitur vulputate. Nunc quis nunc hendrerit, egestas libero non, ullamcorper enim.";
private const string LOREM_IPSUM_LONG = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam gravida orci in efficitur vulputate. Nunc quis nunc hendrerit, egestas libero non, ullamcorper enim. Praesent accumsan auctor orci, sed pharetra nulla efficitur at. Vivamus lacus arcu, malesuada eget magna vitae, condimentum maximus mauris.";
private const string LOREM_IPSUM_EXTRA_LONG = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam gravida orci in efficitur vulputate. Nunc quis nunc hendrerit, egestas libero non, ullamcorper enim. Praesent accumsan auctor orci, sed pharetra nulla efficitur at. Vivamus lacus arcu, malesuada eget magna vitae, condimentum maximus mauris. Suspendisse sollicitudin euismod nisl, sit amet rutrum libero scelerisque eget. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce id magna et nunc porttitor tincidunt. Donec scelerisque odio molestie, ultrices eros eget, pharetra ante. Nulla sed accumsan nulla, et varius elit. Praesent sagittis euismod ex, vel tincidunt dolor tincidunt ac. Aenean tempus magna ac tellus faucibus vulputate. Aenean mattis tellus est, ut accumsan massa blandit eget. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vivamus non suscipit massa. Mauris ut magna ut nisi venenatis consequat in quis turpis.";
[MenuItem("CONTEXT/TMP_Text/Lorem Ipsum/Short", false, 2000)]
private static void ShowLoremIpsumShort(MenuCommand cmd) {
var text = cmd.context as TMP_Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_SHORT);
}
[MenuItem("CONTEXT/TMP_Text/Lorem Ipsum/Medium", false, 2001)]
private static void ShowLoremIpsumMedium(MenuCommand cmd) {
var text = cmd.context as TMP_Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_MEDIUM);
}
[MenuItem("CONTEXT/TMP_Text/Lorem Ipsum/Long", false, 2002)]
private static void ShowLoremIpsumLong(MenuCommand cmd) {
var text = cmd.context as TMP_Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_LONG);
}
[MenuItem("CONTEXT/TMP_Text/Lorem Ipsum/Extra Long", false, 2003)]
private static void ShowLoremIpsumExtraLong(MenuCommand cmd) {
var text = cmd.context as TMP_Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_EXTRA_LONG);
}
[MenuItem("CONTEXT/Text/Lorem Ipsum/Short", false, 2000)]
private static void ShowLoremIpsumShort_Text(MenuCommand cmd) {
var text = cmd.context as Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_SHORT);
}
[MenuItem("CONTEXT/Text/Lorem Ipsum/Medium", false, 2001)]
private static void ShowLoremIpsumMedium_Text(MenuCommand cmd) {
var text = cmd.context as Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_MEDIUM);
}
[MenuItem("CONTEXT/Text/Lorem Ipsum/Long", false, 2002)]
private static void ShowLoremIpsumLong_Text(MenuCommand cmd) {
var text = cmd.context as Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_LONG);
}
[MenuItem("CONTEXT/Text/Lorem Ipsum/Extra Long", false, 2003)]
private static void ShowLoremIpsumExtraLong_Text(MenuCommand cmd) {
var text = cmd.context as Text;
if (text is null) return;
AssignText(text, LOREM_IPSUM_EXTRA_LONG);
}
[MenuItem("CONTEXT/TextMesh/Lorem Ipsum/Short", false, 2000)]
private static void ShowLoremIpsumShort_TextMesh(MenuCommand cmd) {
var text = cmd.context as TextMesh;
if (text is null) return;
AssignText(text, LOREM_IPSUM_SHORT);
}
[MenuItem("CONTEXT/TextMesh/Lorem Ipsum/Medium", false, 2001)]
private static void ShowLoremIpsumMedium_TextMesh(MenuCommand cmd) {
var text = cmd.context as TextMesh;
if (text is null) return;
AssignText(text, LOREM_IPSUM_MEDIUM);
}
[MenuItem("CONTEXT/TextMesh/Lorem Ipsum/Long", false, 2002)]
private static void ShowLoremIpsumLong_TextMesh(MenuCommand cmd) {
var text = cmd.context as TextMesh;
if (text is null) return;
AssignText(text, LOREM_IPSUM_LONG);
}
[MenuItem("CONTEXT/TextMesh/Lorem Ipsum/Extra Long", false, 2003)]
private static void ShowLoremIpsumExtraLong_TextMesh(MenuCommand cmd) {
var text = cmd.context as TextMesh;
if (text is null) return;
AssignText(text, LOREM_IPSUM_EXTRA_LONG);
}
private static void AssignText(TMP_Text obj, string text) {
obj.SetText(text);
obj.Rebuild(CanvasUpdate.Layout);
obj.ForceMeshUpdate();
EditorUtility.SetDirty(obj);
}
private static void AssignText(Text obj, string text) {
obj.text = text;
obj.Rebuild(CanvasUpdate.Layout);
EditorUtility.SetDirty(obj);
}
private static void AssignText(TextMesh obj, string text) {
obj.text = text;
EditorUtility.SetDirty(obj);
}
}
@nomnomab
Copy link
Author

nomnomab commented May 4, 2024

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment