public void RegisterUndoable() { Management.GameManager.I.Utils.RegisterInstantiate(this.gameObject, (object[] data) => { Destroy(); // destory set }, (object[] data) => { // on changed RemoveFromGrid(); UndoUtil.UndoData undodata = (UndoUtil.UndoData)data.Find <UndoUtil.UndoData>(); PlaceAtPos(undodata.Position); // place last pos transform.rotation = undodata.Rotation; transform.localScale = undodata.LocalScale; OnUpdateGrid(); }); }
public void RegisterUndoable() { Management.GameManager.I.Utils.RegisterInstantiate(this.gameObject, (object[] ToDestoy) => { // on destroy remove self from parent Destroy(); }, (object[] Data) => { // on changed RemoveFromGrid(); // remove from grid UndoUtil.UndoData undodata = (UndoUtil.UndoData)Data.Find <UndoUtil.UndoData>(); PlaceAtPos(undodata.Position); // place last pos transform.rotation = undodata.Rotation; transform.localScale = undodata.LocalScale; OnUpdateGrid(); // update grid }); }