Beispiel #1
0
    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;
            });
        });
    }