はじめに
Unity でスマホゲーム開発中に作った拡張メソッドに関する記事を136件まとめました
拡張メソッドに興味がある方はぜひ使用してみて頂ければと思います
.NET Framework
int
- ラップアラウンド関数を定義する
- 数値を加算して、範囲を超えた分は 0 からの値として処理して返す拡張メソッド
- 数値を3桁カンマ区切りの文字列に変換する拡張メソッド
- 数値を0埋めの文字列に変換する拡張メソッドの実装
- Rubyライクなループ処理を拡張メソッドで実現する
float
bool
string
- パスワードのようなランダムな文字列を生成して返す関数
- NGUIで使用可能なBBCodeを文字列から削除して返す拡張メソッド
- Unicode 文字列から Shift-JIS 文字列に変換して返す拡張メソッド
- 文字列を指定した文字数で分割する拡張メソッド
- 文字列内の改行文字を削除した文字列を返す拡張メソッド
- 指定されたパス文字列から拡張子を削除して返す関数
- 文字列をBase64でエンコード、デコードするクラス
- 指定されたいずれかの文字列を含むかどうかを返す拡張メソッド
- 指定された文字列がメールアドレスかどうかを返す関数
- 指定された文字列が電話番号かどうかを返す関数
- 指定された文字列に半角カナ文字が含まれているかどうかを返す関数
- 指定された文字列が郵便番号かどうかを返す関数
- 文字列が URL かどうかを確認する関数
- 文字列を指定された回数連結して返す拡張メソッド
- 文字列から特定の文字列をすべて削除する拡張メソッド
- 数値に指定された桁数の固定小数点数を付加した文字列を返す拡張メソッド
- スネークケースをキャメルケースに変換する拡張メソッド
- 単語の先頭文字を大文字に変換する拡張メソッド
- String.Splitをもっと使いやすくする拡張メソッド
- 1つの文字列が複数の文字列のいずれかと等しいか判定する拡張メソッド
- string.IsNullOrWhiteSpaceを使用できるようにする
- リフレクションを使用してToString関数を手軽に実装する
- 文字列がnull または空文字列または空白文字のみかを判断する「String.IsNullOrWhiteSpace 」
- 文字列がnullまたは空文字列かを判断する「String.IsNullOrEmpty」
StringBuilder
List
- 配列やリストが空かどうかを返す拡張メソッド
- 全要素が指定した条件を満たさない場合にtrueを返す拡張メソッド
- 最小値を持つ要素を全て返す拡張メソッド
- 最大値を持つ要素を全て返す拡張メソッド
- 指定されたインデックスに要素が存在するかどうかを返す拡張メソッド
- 配列やリストのすべての要素に対して指定された関数を適用する拡張メソッド
- 複数のシーケンスを連結して返す関数
- 指定されたシーケンスから条件を満たさない要素を全て返す拡張メソッド
- シーケンスの先頭に値を追加して返す拡張メソッド
- シーケンスが空かどうかを返す拡張メソッド
- リストの末尾から指定された数の要素を削除する拡張メソッド
- リストの先頭から指定された数の要素を削除する拡張メソッド
- 最小値を持つ要素を返す拡張メソッド
- 最大値を持つ要素を返す拡張メソッド
- リスト内に指定された要素があるか調べて存在する場合はその要素をリストから削除する拡張メソッド
- 配列内の要素を複数キーでソートする拡張メソッド
- 条件を満たす場合にのみリストに要素を追加する拡張メソッド
- List を指定されたパラメータでソートできるようにする拡張メソッド
- 指定された配列からランダムに要素を返す関数
- 配列やリストの中から指定した範囲の要素を抜き出す
- 配列やリストから目的の値に最も近い値を取得する拡張メソッド その2
- 配列やリストから目的の値に最も近い値を取得する拡張メソッド
- 配列やリストから最小値もしくは最大値を持つ要素を検索する拡張メソッド
- 配列やリストを逆順に処理する拡張メソッド
- リストの先頭にあるオブジェクトを削除して返す拡張メソッド
- 配列の要素をランダムに並べ替えて返す拡張メソッド
- Arrayクラスのstatic関数をList
のメンバ関数のように使用できるようにする拡張メソッド - リスト内の要素をランダムに返す拡張メソッド
- 配列内の要素をランダムに返す拡張メソッド
- 周回数が取得できるforeach文を拡張メソッドで実現する
- 開始値の指定を省略できるEnumerable.Rangeのラッパー関数を作る
- ListのAddRangeを拡張する
- Array.ForEachを拡張メソッドでスマートに書く
Dictionary
- 引数にnullを渡してもエラーにならないContainsKeyの拡張メソッド
- Dictionaryに既に指定したキーが存在する場合は代入するAdd関数の拡張メソッド
- Dictionary 型のインスタンスからランダムに値を取得する拡張メソッド
- Dictionary から指定したキーの要素を削除する前に関数を呼び出す拡張メソッド
- Dictionary にキーが存在する場合にのみ関数を呼び出す拡張メソッド
- Dictionary
を Hashtable に変換する拡張メソッド - Hashtable を Dictionary
に変換する拡張メソッド - Dictionaryに既に指定したキーが存在する場合は何もしないAdd関数の拡張メソッド
- Dictionary型の指定したキーに値が存在しない場合はデフォルト値を返す拡張メソッド
Type
DateTime
MulticastDelegate
Generic
enum
IO
Unity
MonoBehaviour
GameObject
- GameObject型のインスタンスのnullチェックを省略可能な拡張メソッド
- Destroy関数の拡張メソッド
- DontDestroyOnLoad関数の拡張メソッド
- 指定された名前のオブジェクトが存在する場合は削除する関数
- 自分自身を含むすべての子オブジェクトのレイヤーを設定する拡張メソッド
- レイヤー名を使用してレイヤーを設定する拡張メソッド
- 孫オブジェクトを除くすべての子オブジェクトを取得する拡張メソッド
- 生成したオブジェクトの名前に "(Clone)" を付加しない GameObject.Instantiate関数
- ゲームオブジェクトを複製する関数
- 指定したオブジェクトからルートとなるオブジェクトを取得する拡張メソッド
- ローカル座標を維持したまま親オブジェクトを設定する拡張メソッド
- 指定したゲームオブジェクトから名前で子オブジェクトを検索する拡張メソッド
- すべての子オブジェクトを取得する拡張メソッド
- 指定されたゲームオブジェクトがnullまたは非アクティブかどうかを判定する拡張メソッド
- 指定されたコンポーネントがアタッチされているかどうかを返す拡張メソッド
- RemoveComponentを拡張メソッドで実現する
- GetComponentsInChildrenで自分自身を含まないようにする拡張メソッド
- 子のオブジェクトが存在するかどうかを確認する拡張メソッド
- Instantiate関数を綺麗に記述するためのラッパークラス
Component
- Component型のインスタンスのnullチェックを省略可能な拡張メソッド
- コンポーネントを破棄する拡張メソッド
- 指定されたインターフェイスを実装したコンポーネントを持つ複数のオブジェクトを検索する関数
- 指定されたインターフェイスを実装したコンポーネントを持つオブジェクトを検索する関数
- インターフェイスを指定して子オブジェクトから複数のコンポーネントを取得する拡張メソッド
- インターフェイスを指定して子オブジェクトからコンポーネントを取得する拡張メソッド
- インターフェイスを指定して複数のコンポーネントを取得する拡張メソッド
- インターフェイスを指定してコンポーネントを取得する拡張メソッド
- ゲームオブジェクトから安全にGetComponentする拡張メソッド
Transform
- TransformのTranslate関数の拡張メソッド
- transform.LookAtをGameObject型のtransformプロパティを介さずに使用できるようにする拡張メソッド
- Transform型の位置や回転角、サイズの設定を楽にする その2
- Transform型の位置や回転角、サイズの設定を楽にする
Material
Vector3
Color
NGUI
etc
- メッセージに書式指定可能なAssert系の関数
- メッセージに書式指定可能なMustExtensions系の拡張メソッド
- 「Assert.IsNull」「Assert.IsNotNull」に複数の引数を渡せる関数を定義する
- アセットバンドルが格納されているフォルダ名を返す関数
- 1 つのキーに対して複数の値を登録できる Dictionary を実装する
- EditorGUILayout.ObjectFieldの型指定の重複を無くすラッパー関数