复制、粘贴一个物体的所有组件

 1 using UnityEngine;
 2 using UnityEditor;
 3 using System.Collections.Generic;
 4
 5 public class CopyAllComponent : EditorWindow
 6 {
 7     static Component[] copiedComponents;
 8     [MenuItem("GameObject/Copy Current Components",false,10)]
 9     static void Copy()
10     {
11         copiedComponents = Selection.activeGameObject.GetComponents<Component>();
12     }
13
14     [MenuItem("GameObject/Paste Current Components",false,10)]
15     static void Paste()
16     {
17         foreach (var targetGameObject in Selection.gameObjects)
18         {
19             if (!targetGameObject || copiedComponents == null) continue;
20
21             var targetComponents = new List<Component>(targetGameObject.GetComponents<Component>());
22
23             foreach (var copiedComponent in copiedComponents)
24             {
25                 if (!copiedComponent) continue;
26
27                 var targetComponent = targetComponents.Find((item) => item.GetType() == copiedComponent.GetType());
28
29                 UnityEditorInternal.ComponentUtility.CopyComponent(copiedComponent);
30
31                 if (targetComponent != null)
32                 {
33                     UnityEditorInternal.ComponentUtility.PasteComponentValues(targetComponent);
34                 }
35                 else
36                 {
37                     UnityEditorInternal.ComponentUtility.PasteComponentAsNew(targetGameObject);
38                 }
39             }
40         }
41     }
42
43 }
时间: 2024-10-12 17:56:59

复制、粘贴一个物体的所有组件的相关文章

复制粘贴引发的鸠占鹊巢——IDEA复制项目导致sources root复用了另一个项目

复制粘贴大法一向是程序猿的利器,但有时也会引发一些拎不清的麻烦关系来.比如我们现在想新建一个项目,为了快速而对原来的uis-gateway动用了复制粘贴大法,然后改改项目名就成了uis-application了.这时你会发现如下图所示,sources root依然是uis-gateway: 怎么办?说来也简单,快捷键Ctrl+Alt+Shift+S打开Project Structure -> 在Modules中点下原始项目uis-gateway,我们看到这时它的Sources.Test.Reso

原来把300页Word转成PPT,只需要一个键!别再复制粘贴了

我们在做PPT之前都会先在Word写完一个大纲,然后再根据大纲来做PPT对不对,不知道大家都是怎么把Word中的内容转到PPT中的呢?我猜很多小伙伴都会说复制粘贴!其实还有更简单的办法! 今天小编就来教大家如何快速把300页Word转成PPT~ 一.大纲法 1.大纲设置 首先我们打开一份Word文件,点击[视图]——[大纲],将所有的大标题,设为[1级].将每一段正文内容,设置为[2级],操作如图所示: 2.从大纲新建幻灯片 然后我们新建一个PPT文档,点击[开始]——[新建幻灯片]——[幻灯片

用python自动复制粘贴excel表里某一列的数据到另一个表中

昨天接到人事小姐姐求助减轻复制粘贴的重复工作量,分享一下代码 半路新手上路 耶 把 2.xlsx 表里的第二列 的数据复制粘贴到 test.xlsx的第一列 python3.6.2 from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.writer.excel import ExcelWriter wb = load_workbook ('C:\\Users\\elan\\Desktop\\p

Android 复制 粘贴 剪贴板的使用 ClipboardManager

Copy and Paste 版本:Android 4.0 r1 快速查看 用于复制粘贴数据的基于剪贴板的框架. 同时支持简单和复杂的数据,包括文本串.复杂的数据结构.文本和二进制流数据.程序 asset. 直接从剪贴板复制粘贴简单文本. 用content provider复制粘贴复杂数据. 需要API 11版本. 在本文中 剪贴板框架 剪贴板类 ClipboardManager ClipData.ClipDescription和ClipData.Item ClipData常用方法 将剪贴板中数

Vim 安装、配置及复制粘贴操作

1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: 1 set cindent 2 3 set shiftwidth=4 4 set tabstop=4 5 set softtabstop=4 6 7 set number 8 set hlsearch 9 syntax on 10 11 set showmode 12 set foldmethod=syntax 1

ueditor编辑文章时候,复制粘贴内容,原来的图片不能显示

ueditor编辑文章时候.当现有文章有图片的时候, 再复制粘贴文本进去的时候.里面的图片就不能显示了, 编辑器查看文章Html代码,图片路径显示为:src="http://localhost/images/net/error!" 正确是:src="http://localhost/images/adc.jpg" 而我用的是自己定义的server的一个路径 查看源代码,发现这块功能是例如以下流程 当粘贴后.UE会将眼下编辑的全部内容中元素又一次赋值属性,即源代码中的

在LINUX终端和VIM下复制粘贴

http://www.tinylab.org/linux-terminal-and-paste-copy-under-vim/ 在GUI界面下,我们可以很自由的复制粘贴.但是在字符界面下,我们不得不用鼠标选定,然后单击右健,选择复制,再到别处去Ctrl-v.并且对于 那些用没有配置过的VIM来说,VIM的粘贴板和X Window的粘贴板还不共享.这在码字的过程中,感觉非常不流畅.下面,我们就尝试解决这个问题. 首先我们得让VIM和X Window共享一个粘贴板,这样我们就可以像在GUI界面下一样

【vim小小记】vim的复制粘贴(包括系统剪贴板)

1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: w 跳转到下个word,W:跳转到上个word f 某行正向查找并跳转 F: 反向.... 然后部分双写的字母有行操作: yy 复制一行 dd 删除一行 所以, p就是在当前光标后粘贴,P就是在当前光标前粘贴 另外,说完p,其实还有几个命令有时也是很有用的 gp,和p的功能基本一

Android中的复制粘贴

The Clipboard Framework 当使用clipboard framework时,把数据放在一个剪切对象(clip object)里,然后这个对象会放在系统的剪贴板里. clip object可以有三种形式: Text:文字字符串. 文字是直接放在clip对象中,然后放在剪贴板里:粘贴这个字符串的时候直接从剪贴板拿到这个对象,把字符串放入你的应用存储中. URI:一个Uri 对象. 表示任何形式的URI.这种形式主要用于从一个content provider中复制复杂的数据. 复制