HeavenStudioPlus/Assets/Plugins/Starpelly/Extensions.cs
Braedon 1ed2291844 Command pattern (Undo/Redo) system began. (Read desc)
I spent about 6 hours trying to fix this one specific bug involving the move undo. Turns out all I had to do was calm down and think logically instead of typing random bullshit for a few hours until it worked. I'm tired and I thank this for ruining my sleep schedule.
2022-01-22 05:44:19 -05:00

18 lines
No EOL
450 B
C#

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public static class Extensions
{
public static T DeepClone<T>(this T obj)
{
using (MemoryStream stream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, obj);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
}