需求
比如我想在添加Text时,自动添加一个脚本,用于处理多语言。在添加图片时,自动去掉raycast的勾选以节约性能损耗
解决方案
方案
ObjectFactory.componentWasAdded
用于监听组件的添加事件
using TMPro;
using UnityEngine;
using UnityEditor;
using UnityEngine.UI;
using UnityEngine.EventSystems;
/// <summary>
/// Inspector面板添加组件回调
/// </summary>
[InitializeOnLoad]
public class InspectorAddComponent
{
static InspectorAddComponent()
{
//监听组件添加事件
ObjectFactory.componentWasAdded += ComponentWasAdded;
}
private static void ComponentWasAdded(Component com)
{
switch (com.GetType().ToString())
{
case "UnityEngine.UI.Image":
ComponentOptimizing.OptimizingImage(com as Image);
break;
case "UnityEngine.UI.Text":
ComponentOptimizing.OptimizingText(com as Text);
break;
case "UnityEngine.UI.Button":
ComponentOptimizing.OptimizingButton(com as Button);
break;
case