【Unity】ResourceLoaderクラス
やること
Resources.LoadAsync<T>
を処理する便利クラスをつくる。
これによって、たとえば、Resources.LoadAsync<T>
はせっかくジェネリックメソッドなのに、asset
を取り出すときにはキャストが必要、とかの煩雑さを解決する。
コード
使い方
new
してyield
で待つ。
取り出すときにはasset as T
のようなキャストが不要。
var loader = new ResourceLoader<Hoge>("path"); yield return loader; var hoge = loader.Asset;
クラスなので、↓のように継承することで機能を足せる。
public class HogeLoader : ResourceLoader<Hoge> { public HogeLoader(string path) : base(path) { } public HogeLoader(int id) : base("Hoge/" +id.ToString()) { } }