-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
494 changed files
with
42,511 additions
and
42,566 deletions.
There are no files selected for viewing
162 changes: 81 additions & 81 deletions
162
Assets/Plugins/UniRx/Examples/Sample01_ObservableWWW.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,82 +1,82 @@ | ||
#if !(UNITY_METRO || UNITY_WP8) | ||
|
||
using UnityEngine; | ||
|
||
namespace UniRx.Examples | ||
{ | ||
// sample script, attach your object. | ||
public class Sample01_ObservableWWW : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// Basic: Download from google. | ||
{ | ||
ObservableWWW.Get("http://google.co.jp/") | ||
.Subscribe( | ||
x => Debug.Log(x.Substring(0, 100)), // onSuccess | ||
ex => Debug.LogException(ex)); // onError | ||
} | ||
|
||
// Linear Pattern with LINQ Query Expressions | ||
// download after google, start bing download | ||
{ | ||
var query = from google in ObservableWWW.Get("http://google.com/") | ||
from bing in ObservableWWW.Get("http://bing.com/") | ||
select new { google, bing }; | ||
|
||
var cancel = query.Subscribe(x => Debug.Log(x.google.Substring(0, 100) + ":" + x.bing.Substring(0, 100))); | ||
|
||
// Call Dispose is cancel downloading. | ||
cancel.Dispose(); | ||
} | ||
|
||
// Observable.WhenAll is for parallel asynchronous operation | ||
// (It's like Observable.Zip but specialized for single async operations like Task.WhenAll of .NET 4) | ||
{ | ||
var parallel = Observable.WhenAll( | ||
ObservableWWW.Get("http://google.com/"), | ||
ObservableWWW.Get("http://bing.com/"), | ||
ObservableWWW.Get("http://unity3d.com/")); | ||
|
||
parallel.Subscribe(xs => | ||
{ | ||
Debug.Log(xs[0].Substring(0, 100)); // google | ||
Debug.Log(xs[1].Substring(0, 100)); // bing | ||
Debug.Log(xs[2].Substring(0, 100)); // unity | ||
}); | ||
} | ||
|
||
// with Progress | ||
{ | ||
// notifier for progress | ||
var progressNotifier = new ScheduledNotifier<float>(); | ||
progressNotifier.Subscribe(x => Debug.Log(x)); // write www.progress | ||
|
||
// pass notifier to WWW.Get/Post | ||
ObservableWWW.Get("http://google.com/", progress: progressNotifier).Subscribe(); | ||
} | ||
|
||
// with Error | ||
{ | ||
// If WWW has .error, ObservableWWW throws WWWErrorException to onError pipeline. | ||
// WWWErrorException has RawErrorMessage, HasResponse, StatusCode, ResponseHeaders | ||
ObservableWWW.Get("http://www.google.com/404") | ||
.CatchIgnore((WWWErrorException ex) => | ||
{ | ||
Debug.Log(ex.RawErrorMessage); | ||
if (ex.HasResponse) | ||
{ | ||
Debug.Log(ex.StatusCode); | ||
} | ||
foreach (var item in ex.ResponseHeaders) | ||
{ | ||
Debug.Log(item.Key + ":" + item.Value); | ||
} | ||
}) | ||
.Subscribe(); | ||
} | ||
} | ||
} | ||
} | ||
|
||
#if !(UNITY_METRO || UNITY_WP8) | ||
|
||
using UnityEngine; | ||
|
||
namespace UniRx.Examples | ||
{ | ||
// sample script, attach your object. | ||
public class Sample01_ObservableWWW : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// Basic: Download from google. | ||
{ | ||
ObservableWWW.Get("http://google.co.jp/") | ||
.Subscribe( | ||
x => Debug.Log(x.Substring(0, 100)), // onSuccess | ||
ex => Debug.LogException(ex)); // onError | ||
} | ||
|
||
// Linear Pattern with LINQ Query Expressions | ||
// download after google, start bing download | ||
{ | ||
var query = from google in ObservableWWW.Get("http://google.com/") | ||
from bing in ObservableWWW.Get("http://bing.com/") | ||
select new { google, bing }; | ||
|
||
var cancel = query.Subscribe(x => Debug.Log(x.google.Substring(0, 100) + ":" + x.bing.Substring(0, 100))); | ||
|
||
// Call Dispose is cancel downloading. | ||
cancel.Dispose(); | ||
} | ||
|
||
// Observable.WhenAll is for parallel asynchronous operation | ||
// (It's like Observable.Zip but specialized for single async operations like Task.WhenAll of .NET 4) | ||
{ | ||
var parallel = Observable.WhenAll( | ||
ObservableWWW.Get("http://google.com/"), | ||
ObservableWWW.Get("http://bing.com/"), | ||
ObservableWWW.Get("http://unity3d.com/")); | ||
|
||
parallel.Subscribe(xs => | ||
{ | ||
Debug.Log(xs[0].Substring(0, 100)); // google | ||
Debug.Log(xs[1].Substring(0, 100)); // bing | ||
Debug.Log(xs[2].Substring(0, 100)); // unity | ||
}); | ||
} | ||
|
||
// with Progress | ||
{ | ||
// notifier for progress | ||
var progressNotifier = new ScheduledNotifier<float>(); | ||
progressNotifier.Subscribe(x => Debug.Log(x)); // write www.progress | ||
|
||
// pass notifier to WWW.Get/Post | ||
ObservableWWW.Get("http://google.com/", progress: progressNotifier).Subscribe(); | ||
} | ||
|
||
// with Error | ||
{ | ||
// If WWW has .error, ObservableWWW throws WWWErrorException to onError pipeline. | ||
// WWWErrorException has RawErrorMessage, HasResponse, StatusCode, ResponseHeaders | ||
ObservableWWW.Get("http://www.google.com/404") | ||
.CatchIgnore((WWWErrorException ex) => | ||
{ | ||
Debug.Log(ex.RawErrorMessage); | ||
if (ex.HasResponse) | ||
{ | ||
Debug.Log(ex.StatusCode); | ||
} | ||
foreach (var item in ex.ResponseHeaders) | ||
{ | ||
Debug.Log(item.Key + ":" + item.Value); | ||
} | ||
}) | ||
.Subscribe(); | ||
} | ||
} | ||
} | ||
} | ||
|
||
#endif |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
46 changes: 23 additions & 23 deletions
46
Assets/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,24 @@ | ||
using UnityEngine; | ||
using UniRx.Triggers; // Triggers Namepsace | ||
using System; | ||
|
||
namespace UniRx.Examples | ||
{ | ||
public class Sample02_ObservableTriggers : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// Get the plain object | ||
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); | ||
|
||
// Add ObservableXxxTrigger for handle MonoBehaviour's event as Observable | ||
cube.AddComponent<ObservableUpdateTrigger>() | ||
.UpdateAsObservable() | ||
.SampleFrame(30) | ||
.Subscribe(x => Debug.Log("cube"), () => Debug.Log("destroy")); | ||
|
||
// destroy after 3 second:) | ||
GameObject.Destroy(cube, 3f); | ||
} | ||
} | ||
using UnityEngine; | ||
using UniRx.Triggers; // Triggers Namepsace | ||
using System; | ||
|
||
namespace UniRx.Examples | ||
{ | ||
public class Sample02_ObservableTriggers : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// Get the plain object | ||
var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); | ||
|
||
// Add ObservableXxxTrigger for handle MonoBehaviour's event as Observable | ||
cube.AddComponent<ObservableUpdateTrigger>() | ||
.UpdateAsObservable() | ||
.SampleFrame(30) | ||
.Subscribe(x => Debug.Log("cube"), () => Debug.Log("destroy")); | ||
|
||
// destroy after 3 second:) | ||
GameObject.Destroy(cube, 3f); | ||
} | ||
} | ||
} |
2 changes: 1 addition & 1 deletion
2
Assets/Plugins/UniRx/Examples/Sample02_ObservableTriggers.cs.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
44 changes: 22 additions & 22 deletions
44
Assets/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,23 @@ | ||
#if !(UNITY_IPHONE || UNITY_ANDROID || UNITY_METRO) | ||
|
||
using UnityEngine; | ||
using UniRx.Triggers; // for enable gameObject.EventAsObservbale() | ||
|
||
namespace UniRx.Examples | ||
{ | ||
public class Sample03_GameObjectAsObservable : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// All events can subscribe by ***AsObservable if enables UniRx.Triggers | ||
this.OnMouseDownAsObservable() | ||
.SelectMany(_ => this.gameObject.UpdateAsObservable()) | ||
.TakeUntil(this.gameObject.OnMouseUpAsObservable()) | ||
.Select(_ => Input.mousePosition) | ||
.RepeatUntilDestroy(this) | ||
.Subscribe(x => Debug.Log(x), ()=> Debug.Log("!!!" + "complete")); | ||
} | ||
} | ||
} | ||
|
||
#if !(UNITY_IPHONE || UNITY_ANDROID || UNITY_METRO) | ||
|
||
using UnityEngine; | ||
using UniRx.Triggers; // for enable gameObject.EventAsObservbale() | ||
|
||
namespace UniRx.Examples | ||
{ | ||
public class Sample03_GameObjectAsObservable : MonoBehaviour | ||
{ | ||
void Start() | ||
{ | ||
// All events can subscribe by ***AsObservable if enables UniRx.Triggers | ||
this.OnMouseDownAsObservable() | ||
.SelectMany(_ => this.gameObject.UpdateAsObservable()) | ||
.TakeUntil(this.gameObject.OnMouseUpAsObservable()) | ||
.Select(_ => Input.mousePosition) | ||
.RepeatUntilDestroy(this) | ||
.Subscribe(x => Debug.Log(x), ()=> Debug.Log("!!!" + "complete")); | ||
} | ||
} | ||
} | ||
|
||
#endif |
2 changes: 1 addition & 1 deletion
2
Assets/Plugins/UniRx/Examples/Sample03_GameObjectAsObservable.cs.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.