示例#1
0
        private void ReplaceSelectionWithTarget()
        {
            if (!_Target)
            {
                Debug.LogError("No target specified");
                return;
            }
            var selection = Selection.gameObjects;

            foreach (var gameObject in selection)
            {
                var newPrefab = (GameObject)PrefabUtility.InstantiatePrefab(_Target);
                Undo.RegisterCreatedObjectUndo(newPrefab, "Replace GameObject");
                newPrefab.transform.SetParent(gameObject.transform.parent);

                var info = new TransformInfo(gameObject.transform);
                info.ApplyLocal(newPrefab.transform);

                if (_DeleteOld)
                {
                    Undo.DestroyObjectImmediate(gameObject);
                }
            }
        }