public void AttachLWF(string instanceName, LWFObject lwfObject,
string attachName, int attachDepth = -1, bool reorder = false,
LWFObjectAttachHandler attachHandler = null,
LWFObjectDetachHandler detachHandler = null)
{
AddLoadCallback((o) => {
lwfObject.AddLoadCallback((lo) => {
AddMovieLoadHandler(instanceName, (m) => {
m.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);
}
});
if (attachHandler != null)
attachHandler(lwfObject);
});
lwfObject.callUpdate = false;
Transform transform = lwfObject.gameObject.transform;
transform.parent = gameObject.transform;
transform.localPosition = Vector3.zero;
transform.localRotation = Quaternion.identity;
transform.localScale = Vector3.one;
});
});
}