2021년 4학년 1학기 기업연계프로젝트2 컴퓨터소프트웨어공학과 <원광투어팀> 팀장 : 송유진 팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

48 lines
1.4 KiB

using System.Collections.Generic;
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
namespace Unity.FPS.Game
{
[ExecuteInEditMode]
public class PrefabReplacerOnInstance : MonoBehaviour
{
public GameObject TargetPrefab;
void Awake()
{
#if UNITY_EDITOR
List<GameObject> allPrefabObjectsInScene = new List<GameObject>();
foreach (Transform t in GameObject.FindObjectsOfType<Transform>())
{
if (PrefabUtility.IsAnyPrefabInstanceRoot(t.gameObject))
{
allPrefabObjectsInScene.Add(t.gameObject);
}
}
foreach (GameObject go in allPrefabObjectsInScene)
{
GameObject instanceSource = PrefabUtility.GetCorrespondingObjectFromSource(go);
if (instanceSource == TargetPrefab)
{
transform.SetParent(go.transform.parent);
transform.position = go.transform.position;
transform.rotation = go.transform.rotation;
transform.localScale = go.transform.localScale;
// Undo.Register
Undo.DestroyObjectImmediate(go);
Debug.Log("Replaced prefab in scene");
DestroyImmediate(this);
break;
}
}
#endif
}
}
}