天天看点

编辑器工具--NGUI--图集相关--选中预设指定图集深度修改

Sage_禅

qq交流群:106864335

加群连接:

编辑器工具--NGUI--图集相关--选中预设指定图集深度修改

q群初建,欢迎大家加入交流。

微信公众号:zhimeng-1314   名称:Unity不疯魔不成活

开发mmoarpg项目很长时间了,现在总结一些项目中自写的一些工具作为记录和分享。

编辑器工具--NGUI--图集相关--选中预设指定图集深度修改

项目中用的是NGUI3.9.4,本篇介绍工具:选中预设指定图集深度修改,代码如下。

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


/// 我的工具库--通用编辑器工具
/// 注:可以用,不可以改
/// 所有的相似工具类在此下添加


/// <summary>
/// 选中预设指定图集深度修改
/// </summary>
public class WTool_ChangeAtlaDepth : EditorWindow
{
    #region 菜单添加
    [MenuItem("WTools/Atlas/修改图集深度")]
    public static void Open()
    {
        EditorWindow.GetWindow(typeof(WTool_ChangeAtlaDepth));
    }
    #endregion


    #region 编辑器窗口绘制
    public UIAtlas 指定图集;
    public string depth;
    private static UIAtlas toChangeAtla;
    private static string toChangeDepth;




    private void OnGUI()
    {
        指定图集 = (UIAtlas)EditorGUILayout.ObjectField(指定图集, typeof(UIAtlas), true, GUILayout.MinWidth(100f));
        toChangeAtla = 指定图集;


        GUILayout.Label("图集的深度要修改为:");
        depth = EditorGUILayout.TextField(depth, GUILayout.MinWidth(100f));
        toChangeDepth = depth;


        if (GUILayout.Button("w图集深度变变变!"))
        {
            Change();
        }
    } 
    #endregion


    public static void Change()
    {
        int num = 0;
        List<UISprite> sprites = WEditorTools.SelectCompount<UISprite>();


        foreach (UISprite item in sprites)
        {
            if (item != null && item.atlas == toChangeAtla)
            {
                item.depth = int.Parse(toChangeDepth);
                num++;
            }
        }
        Debug.Log("修改完成,共修改的次数为" + num);
    }
}