Unityで最初から自動アタッチされてる状態にする 例
InspectorでReset選択時に自動アタッチ
InfoGetter.cs
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// お知らせ表示
/// </summary>
public class InfoGetter : MonoBehaviour
{
[Header("表示するオブジェクト")]
[SerializeField]
private GameObject prefab = null;
[Header("表示させる場所の親")]
[SerializeField]
private Transform InstantiateParent = null;//Instantiateで複製したオブジェクトの親
void Start()
{
CommonValues.Message.Reverse();
for (int i = 0; i < CommonValues.Message.Count; i++)
{
GameObject item = GameObject.Instantiate(prefab, InstantiateParent);
var text1 = item.FindChild("InfoText").GetComponent<Text>();
text1.text = CommonValues.Message[i];
}
}
#if UNITY_EDITOR
/// <summary>
/// InspectorからReset選択時に自動アタッチ
/// </summary>
private void Reset()
{
//指定フォルダのprefabを全取得
var guids_prefab = AssetDatabase.FindAssets("t:prefab", new string[] { "Assets/Prefabs" });
for (int i = 0; i < guids_prefab.Length; i++)
{
//アタッチさせたいオブジェクト名を拡張子付きで書く
prefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Prefabs/Info.prefab");
}
// ヒエラルキー上のすべてのオブジェクトを取得
Object[] allGameObject = Resources.FindObjectsOfTypeAll(typeof(GameObject));
// 取得したオブジェクトの名前を表示
foreach (GameObject obj in allGameObject)
{
Debug.Log(obj.name);
//アタッチさせたいオブジェクト名を書く
if (obj.name == "InfoContent")
{
InstantiateParent = obj.transform;
}
}
}
#endif
}
これで、gitであらぶってアタッチ抜けが起きても戻せる!
Author And Source
この問題について(Unityで最初から自動アタッチされてる状態にする 例), 我々は、より多くの情報をここで見つけました https://qiita.com/monolith8/items/b65cc64a23673e0546a0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .