马上注册,加入CGJOY,让你轻松玩转CGJOY。
您需要 登录 才可以下载或查看,没有帐号?立即注册
×
今天我们在这篇教程说说Unity3d开发中编辑器Editor的undo撤销操作的教程。
在Unity3d编辑器扩展中,常常需要兼容Undo的操作即:Cmd/Ctrl + z。在Unity3d对应的接口Undo.RecordObjects可以完成这项工作。
封装
由于它的参数需要我们操作对象的组件,我为他封装了一个操作类。通过托管的方式调用。
实现
实现函数如下:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
/*
Usage:
var go = Selection.activeTransform;
UndoOperate bc = new UndoOperate("batch Operate");
bc.Add(go,()=>{
go.localPosition = new Vector3(1,2,1);
go.localScale = new Vector3(1,2,1);
});
var comp = go.GetComponent();
bc.Add(comp,()=>{
comp.str= "Hello SongYang";
});
bc.Flush();
*/
public class UndoOperate {
public delegate void Callback();
List
首发地址: Unity3d编辑器Editor的undo撤销操作简介_丝路教程网
资源地址: http://blog.silucg.com/unity/4141.html(分享请保留)
|