Más contenido relacionado
La actualidad más candente (20)
Similar a Unity5.3をさわってみた (20)
Unity5.3をさわってみた
- 13. ロード(非同期)
// 5.2
var operation = Application.LoadLevelAsync(0);
var operation = Application.LoadLevelAsync("SceneB");
// 5.3
var operation = SceneManager.LoadSceneAsync(0);
var operation = SceneManager.LoadSceneAsync("SceneB");
- 15. 加算ロード(非同期)
// 5.2
var operation = Application.LoadLevelAdditiveAsync(0);
var operation = Application.LoadLevelAdditiveAsync("SceneB");
// 5.3
var operation = SceneManager.LoadSceneAsync(0, LoadSceneMode.Additive);
var operation = SceneManager.LoadSceneAsync("SceneB", LoadSceneMode.Additive);
- 18. シーン情報を取得
// 5.2
Application.loadedLevel; // 現在のシーンインデックス
Application.loadedLevelName; // 現在のシーン名
// 5.3
Scene active = SceneManager.GetActiveScene();
Scene scene1 = SceneManager.GetSceneAt(0);
Scene scene2 = SceneManager.GetSceneByName("SceneA");
Scene scene3 = SceneManager.GetSceneByPath("Assets/SceneA.unity");
Scene[] loadedScenes = SceneManager.GetAllScenes();
- 20. その他
// ゲームオブジェクトが属するシーンを取得
Scene scene = gameObject.scene;
// ゲームオブジェクトを生成するとActiveなシーンに追加される
GameObject go = new GameObject("New Object");
// ゲームオブジェクトを特定のシーンに移動
SceneManager.MoveGameObjectToScene(go, scene);
// シーンをマージ
SceneManager.MergeScenes(src, dst);
// SceneManager.Get***()で取得できるのはロード済みのシーンのみ
Scene scene = SceneManager.GetSceneByName("NotLoaded");
bool isValid = scene.IsValid(); // falseが返る
- 50. (例)PurchaseManager
using UnityEngine;
using UnityEngine.Purchasing;
public class PurchaseManager : MonoBehaviour, IStoreListener
{
void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
}
void OnInitializeFailed(InitializationFailureReason error)
{
}
PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
{
}
void OnPurchaseFailed(Product i, PurchaseFailureReason p)
{
}
}
- 56. (例)PurchaseManager
using UnityEngine;
using UnityEngine.Purchasing;
public class PurchaseManager : MonoBehaviour, IStoreListener
{
…
void Start()
{
// 基本は定型(購入の内部処理をカスタマイズしたりもできるっぽい)
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// プロダクト設定(プロダクトIDとプロダクトの種類を指定)
builder.AddProduct("ProductID", ProductType.Consumable);
// 初期化リクエスト(ここで指定したインスタンスのコールバックが呼ばれる)
UnityPurchasing.Initialize(this, builder);
}
…
}
- 61. iOSでのリストア
public void Restore()
{
var apple = extensions.GetExtension<IAppleExtensions>();
apple.RestoreTransactions((result) =>
{
// result: リストアが成功したかどうか
} );
}
• 成功したらProcessPurchase()が呼ばれる