public void AttachLWF(LWF.Movie movie, LWFObject lwfObject,
string attachName, int attachDepth = -1, bool reorder = false,
LWFObjectDetachHandler detachHandler = null)
{
AddLoadCallback((o) => {
lwfObject.AddLoadCallback((lo) => {
movie.AttachLWF(lwfObject.lwf,
attachName, attachDepth, reorder, (attachedLWF) => {
if (detachHandler == null)
{
if (lwfObject.isAlive)
{
Destroy(lwfObject.gameObject);
}
}
else
{
if (detachHandler(lwfObject) && lwfObject.isAlive)
{
Destroy(lwfObject.gameObject);
}
}
});
lwfObject.callUpdate = false;
Transform transform = lwfObject.gameObject.transform;
transform.parent = lwfObject.transform;
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = Vector3.one;
});
});
}