/// <summary> /// Downloads a texture from the given URL and returns a Future for the texture. /// </summary> static public Future <Texture2D> Texture(string inURL, bool inbDownloadAsNonReadable = false, MonoBehaviour inRoutineHost = null) { var future = Future.Create <Texture2D>(); try { #if WEB_REQUEST_SUPPORTED UnityWebRequest webRequest = new UnityWebRequest(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadTextureRoutine(future, webRequest, inbDownloadAsNonReadable)) ); #else WWW www = new WWW(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadTextureRoutine(future, www, inbDownloadAsNonReadable)) ); #endif // WEB_REQUEST_SUPPORTED } catch (Exception e) { future.Fail(Future.FailureType.Exception, e); } return(future); }
/// <summary> /// Downloads an AudioClip from the given URL and returns a Future for the AudioClip. /// </summary> static public Future <AudioClip> AudioClip(string inURL, bool inbCompressed = false, MonoBehaviour inRoutineHost = null) { var future = Future.Create <AudioClip>(); try { #if WEB_REQUEST_SUPPORTED #if !WEB_REQUEST_AUDIOCLIP_COMPRESSED if (!inbCompressed) #endif // !WEB_REQUEST_AUDIOCLIP_COMPRESSED { UnityWebRequest webRequest = new UnityWebRequest(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadAudioClipRoutine(future, webRequest, inbCompressed)) ); } #if !WEB_REQUEST_AUDIOCLIP_COMPRESSED else #endif // !WEB_REQUEST_AUDIOCLIP_COMPRESSED #endif #if !WEB_REQUEST_SUPPORTED || !WEB_REQUEST_AUDIOCLIP_COMPRESSED { WWW www = new WWW(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadAudioClipRoutine(future, www, inbCompressed)) ); } #endif // !WEB_REQUEST_AUDIOCLIP_COMPRESSED } catch (Exception e) { future.Fail(Future.FailureType.Exception, e); } return(future); }
/// <summary> /// Downloads bytes from the given URL and returns a Future for the bytes. /// </summary> static public Future <byte[]> Bytes(string inURL, MonoBehaviour inRoutineHost = null) { var future = Future.Create <byte[]>(); try { #if WEB_REQUEST_SUPPORTED UnityWebRequest webRequest = new UnityWebRequest(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadBytesRoutine(future, webRequest)) ); #else WWW www = new WWW(inURL); future.LinkTo( Routine.Start(inRoutineHost, DownloadBytesRoutine(future, www)) ); #endif // WEB_REQUEST_SUPPORTED } catch (Exception e) { future.Fail(Future.FailureType.Exception, e); } return(future); }
/// <summary> /// Starts a Tween as a Routine, hosted by the given host. /// </summary> static public Routine Play(this Tween inTween, UnityEngine.MonoBehaviour inHost) { return(Routine.Start(inHost, inTween)); }
/// <summary> /// Starts a Tween as a Routine. /// </summary> static public Routine Play(this Tween inTween) { return(Routine.Start(inTween)); }