/// <summary> /// Clones an object recursively. Ensures containers are properly cloned. /// </summary> /// <param name="ch"></param> /// <param name="obj"></param> /// <param name="clone"></param> public static void RecursiveClone( CharData ch, Object obj, Object clone ) { Object tObj; foreach( Object cObj in obj._contains ) { tObj = Database.CreateObject( cObj._objIndexData, 0 ); Database.CloneObject( cObj, ref tObj ); clone.AddToObject( tObj ); RecursiveClone( ch, cObj, tObj ); } }