AddLoadCallback() public méthode

public AddLoadCallback ( System.Action lwfLoadCallback ) : void
lwfLoadCallback System.Action
Résultat void
Exemple #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;
            });
        });
    }
	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;
			});
		});
	}