Class UniqueParentTransformList
ユーザーが親ゲームオブジェクトを複数選択するときに使います。 ある処理について、処理の対象が、選択されたゲームオブジェクトとその子であるとき、 objAとその子objBが両方選択されていたら、重複となりobjBとその子の処理が2回行われてしまいます。 それを防ぐため、親ゲームオブジェクトとしてユニークなもののみを保持し、重複は無視するクラスです。 加えてnullが渡された場合も無視します。
Inheritance
System.Object
UniqueParentTransformList
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: PLATEAU.Util
Assembly: cs.temp.dll.dll
Syntax
public class UniqueParentTransformList
Constructors
UniqueParentTransformList()
空配列で初期化
Declaration
public UniqueParentTransformList()
UniqueParentTransformList(IEnumerable<Transform>)
ゲームオブジェクトの配列を初期値として初期化
Declaration
public UniqueParentTransformList(IEnumerable<Transform> src)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Transform> | src |
UniqueParentTransformList(UniqueParentTransformList)
Declaration
public UniqueParentTransformList(UniqueParentTransformList copyFrom)
Parameters
Type | Name | Description |
---|---|---|
UniqueParentTransformList | copyFrom |
UniqueParentTransformList(Transform)
1つのみのゲームオブジェクトを初期値として初期化
Declaration
public UniqueParentTransformList(Transform oneSrc)
Parameters
Type | Name | Description |
---|---|---|
Transform | oneSrc |
Properties
Count
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Get
持っているTransformの一覧を読み取り専用で返します
Declaration
public IReadOnlyCollection<Transform> Get { get; }
Property Value
Type | Description |
---|---|
IReadOnlyCollection<Transform> |
Methods
Add(Transform)
Transformを1つ追加します。 ただし、重複や親子関係にあるTransformが渡された場合は追加しません。
Declaration
public void Add(Transform op)
Parameters
Type | Name | Description |
---|---|---|
Transform | op |
AddRange(IEnumerable<Transform>)
Add(Transform)の複数渡す版
Declaration
public void AddRange(IEnumerable<Transform> transforms)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Transform> | transforms |
BfsExec(ForEachTransform)
PLATEAU.Util.UniqueParentTransformList.dataとその子を幅優先探索し、各Transformに対して
式 forEachTransform
を実行します。
Declaration
public void BfsExec(ForEachTransform forEachTransform)
Parameters
Type | Name | Description |
---|---|---|
ForEachTransform | forEachTransform |
BfsExecAsync(ForEachTransformAsync)
BfsExec(ForEachTransform)の非同期版です。
Declaration
public async Task BfsExecAsync(ForEachTransformAsync forEachTransform)
Parameters
Type | Name | Description |
---|---|---|
ForEachTransformAsync | forEachTransform |
Returns
Type | Description |
---|---|
Task |
CalcCommonParent()
引数の共通の親を探し、親のうちもっとも階層上の子であるものを返します。 共通の親がない場合、nullを返します。
Declaration
public Transform CalcCommonParent()
Returns
Type | Description |
---|---|
Transform |
Clear()
Declaration
public void Clear()
DfsExec(ForEachTransform)
PLATEAU.Util.UniqueParentTransformList.dataとその子を深さ優先探索し、各Transformに対して
式 forEachTransform
を実行します。
Declaration
public void DfsExec(ForEachTransform forEachTransform)
Parameters
Type | Name | Description |
---|---|---|
ForEachTransform | forEachTransform |
DfsExecAsync(ForEachTransformAsync)
DfsExec(ForEachTransform)の非同期版です。
Declaration
public async Task DfsExecAsync(ForEachTransformAsync forEachTransform)
Parameters
Type | Name | Description |
---|---|---|
ForEachTransformAsync | forEachTransform |
Returns
Type | Description |
---|---|
Task |
Init(IEnumerable<Transform>)
汎用初期化メソッド
Declaration
public void Init(IEnumerable<Transform> src)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Transform> | src |
ParentalShift()
複数の選択を親にまとめられるとき、まとめます。 例えばAの子がすべてリストにあるとき、Aの子の代わりにAを選択します。
Declaration
public void ParentalShift()
Reset()
Declaration
public void Reset()