Ejemplo n.º 1
0
    public static void CreateSDFImgs()
    {
        Scene scene = EditorSceneManager.GetActiveScene();

        GameObject[] objs = scene.GetRootGameObjects();
        for (int i = 0; i < objs.Length; i++)
        {
            GameObject obj        = objs[i];
            char[]     letterList = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
            if (obj.name == "Canvas")
            {
                Vector3 pos = Vector3.zero;
                for (int j = 0; j < letterList.Length; j++)
                {
                    Material material = AssetDatabase.LoadAssetAtPath("Assets/SignedDistanceField/sdf_mat_ui.mat", typeof(Material)) as Material;

                    string letter = letterList[j].ToString();

                    string upperName       = letter.ToUpper();
                    string upperSpritePath = "Assets/SignedDistanceField/sdf/" + letter + "_upper_sdf.png";
                    Sprite upperSprite     = AssetDatabase.LoadAssetAtPath(upperSpritePath, typeof(Sprite)) as Sprite;

                    GameObject upperObj    = new GameObject(upperName);
                    SDFImage   upperSDFImg = upperObj.AddComponent <SDFImage>();
                    upperSDFImg.material = material;
                    upperSDFImg.color    = Color.white;
                    upperSDFImg.style    = SDFStyle.PURE;
                    upperSDFImg.sprite   = upperSprite;
                    upperObj.transform.SetParent(obj.transform);
                    upperObj.GetComponent <RectTransform>().sizeDelta = new Vector2(64, 64);
                    upperObj.transform.localScale    = Vector3.one;
                    upperObj.transform.localRotation = Quaternion.identity;
                    upperObj.transform.localPosition = pos;

                    pos = pos + new Vector3(64, 0, 0);

                    string lowerName       = letter.ToLower();
                    string lowerSpritePath = "Assets/SignedDistanceField/sdf/" + letter + "_lower_sdf.png";
                    Sprite lowerSprite     = AssetDatabase.LoadAssetAtPath(lowerSpritePath, typeof(Sprite)) as Sprite;

                    GameObject lowerObj    = new GameObject(lowerName);
                    SDFImage   lowerSDFImg = lowerObj.AddComponent <SDFImage>();
                    lowerSDFImg.material = material;
                    lowerSDFImg.color    = Color.white;
                    lowerSDFImg.style    = SDFStyle.PURE;
                    lowerSDFImg.sprite   = lowerSprite;
                    lowerObj.transform.SetParent(obj.transform);
                    lowerObj.GetComponent <RectTransform>().sizeDelta = new Vector2(64, 64);
                    lowerObj.transform.localScale    = Vector3.one;
                    lowerObj.transform.localRotation = Quaternion.identity;
                    lowerObj.transform.localPosition = pos;

                    pos = pos + new Vector3(64, 0, 0);
                }
            }
        }
    }
Ejemplo n.º 2
0
 public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();
     if (GUI.changed)
     {
         target = (SDFImage)serializedObject.targetObject;
         UpdateView();
     }
 }