前言:
项目进行到后期,老板觉得之前的美术效果不好,让美术出一个新的进度条美术效果图,将之前全部面板的滑块全替换掉。想了半天也没有什么合适的方法,因为每个面板的需求和样式不同,每个滑块的预制体设置肯定是不一样的,如果全部一键替换的话可能会出现更大的问题。手动替换的话这么多预制体都不知道到底有哪些有滑块哪些没有用到滑块,决定于是写一个工具遍历UIPrefab,先将使用滑块的预制体路径输出出来,然后手动替换滑块。
知识概要:
- 首先,预制可以直接使用二进制编辑器查看里面内容,里面有组成这个预制体全部的相关信息,如下图所示。
- 通过Prefab-> Byte [] - > string可以得到这个Prefab的字符串,只需要知道该字符串中是否包含UnityEngine.UI.Slider即可。
源码奉上:
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine;
namespace Editor
{
public class CheckRefrencesSlider : E