Recientemente escribí algunas pequeñas herramientas, las grabé y las compartí.
herramienta
[MenuItem("Assets/工具/赋值")]
public static void SetSelectedPrefabsValue()
{
Debug.Log($"数量{
Selection.gameObjects.Length}");
if (Selection.gameObjects.Length == 0)return;
foreach (var obj in Selection.gameObjects)
{
GameObject go = obj;
/*
ScriptA a= go.GetComponent<ScriptA>();
ScriptB b= go.GetComponentInChildren<ScriptB>();
a.fireOutLine = effect;
*/
PrefabUtility.SavePrefabAsset(go);
}
}
Tutorial de niñera:
escriba la operación que desea realizar en el área de comentarios, por ejemplo, aquí es encontrar b del subobjeto y asignarlo al atributo fireOutLine de a.
Se utiliza cuando hay una gran cantidad de casas prefabricadas con el mismo script que deben montarse en nodos, o cuando una gran cantidad de casas prefabricadas del mismo tipo necesitan realizar la misma operación.
Instrucciones de uso: seleccione todos los prefabricados que deben modificarse, haga clic con el botón derecho en Herramientas/Asignación Ejecutar
Atributo de montaje del inspector y atributo Buscar en Inicio
El montaje de propiedades mejora la legibilidad y el mantenimiento del código y, a menudo, es más rápido que usar Buscar.
Cómo mostrar propiedades privadas en Inspector
[SerializeField] private int a;//显示私有
[HideInInspector] public int b;//隐藏公有