はじめに
var sprites = new Sprite[ spriteAtlas.spriteCount ];
spriteAtlas.GetSprites( sprites );
SpriteAtlas に含まれているすべての Sprite を取得する場合、
上記のような処理を記述すれば実現できますが
毎回配列を定義するのが大変だったので
すべての Sprite を戻り値で受け取れる拡張メソッドを作成しました
ソースコード
using UnityEngine; using UnityEngine.U2D; /// <summary> /// SpriteAtlas 型の拡張メソッドを管理するクラス /// </summary> public static class SpriteAtlasExt { /// <summary> /// スプライトの配列を返します /// </summary> public static Sprite[] GetSprites( this SpriteAtlas self ) { var sprites = new Sprite[ self.spriteCount ]; self.GetSprites( sprites ); return sprites; } }
使い方
var sprites = spriteAtlas.GetSprites( sprites );