はじめに
「Unity Extensions」は便利な拡張機能のセットです
使用準備
using Extensions;
拡張メソッドを使用するスクリプトに上記の using を追加します
拡張メソッド一覧
Component
// コンポーネントをアタッチ someComponent.AddComponent<MyComponent>(); // コンポーネントを取得 // コンポーネントが存在しない場合はアタッチしてから取得 someComponent.GetOrAddComponent<MyComponent>(); // コンポーネントがアタッチされている場合 true someComponent.HasComponent<MyComponent>();
GameObject
// コンポーネントを取得 // コンポーネントが存在しない場合はアタッチしてから取得 gameObject.GetOrAddComponent<MyComponent>(); // コンポーネントがアタッチされている場合 true gameObject.HasComponent<MyComponent>();
NetworkPlayer
// インデックスを取得
Network.player.GetIndex();
Rigidbody
// 速度を変更せずに移動方向を変更
rigidbody.ChangeDirection( Vector3.right );
Transform
// 子オブジェクトを追加 transform.AddChildren( someGameObjects ); // 子オブジェクトの座標を ( 0, 0, 0 ) にリセット transform.ResetChildPositions(); // 子オブジェクトのレイヤーを設定 transform.SetChildLayers( "Ignore Raycast" );
Vector3
// 最も近い座標を取得
var otherPositions = someTransforms.Select( t => t.position );
transform.position.GetClosest( otherPositions );
Vector3Int
// Vector3Int から Vector3 に変換 var vector = new Vector3Int( 1, 2, 3 ); var vector3 = vector.ToVector3();