using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEditor;
using UnityEngine;

public class NameTagGeneratorWindow : EditorWindow
{
    public static void CreateNameTag(string text)
    {
        // Holder
        string name = $"MCNameTag: \"{text}\"";
        GameObject holder = new GameObject(name, typeof(MeshFilter), typeof(MeshRenderer), typeof(NameTagGenerator));

        MeshRenderer renderer = holder.GetComponent<MeshRenderer>();
        renderer.sharedMaterial = Resources.Load<Material>("MCNameTag");

        NameTagGenerator generator = holder.GetComponent<NameTagGenerator>();
        generator.updateOnValidate = false;
        generator.Text = text;
        generator.Generate();
        generator.updateOnValidate = true;
    }

    public static string Contents = "Hello, VRChat!";
    
    private void OnGUI()
    {
        Contents = EditorGUILayout.TextField("Nametag Contents", Contents);
        
        if (GUILayout.Button("Create NameTag"))
            CreateNameTag(Contents);
    }
    
    [MenuItem("POINTLESS/Create NameTag")]
    private static void Init()
    {
        NameTagGeneratorWindow window = EditorWindow.GetWindow<NameTagGeneratorWindow>();
            
        window.titleContent = new GUIContent("MC Name Tag Generator");
            
        window.Show();
    }
}
