public GameObject Assemble(RootModel model) { AssemblyContext context = new AssemblyContext(); GameObject obj = RecursiveAssemble(model.Root as ObjectModel, context, null); context.ReturnReferenceRequests(); ReflectionUtils.DynamicBroadcastInvoke(obj, "OnAssembled", true); ReflectionUtils.DynamicBroadcastInvoke(obj, "OnPostAssembled", true); return(obj); }