よしかわーるど

プログラミングで世界を変える

2019年2月25日にやったこと

テスト期間とかが終わって, ある程度余裕が出来てきたので更新し始める.

Unityを触り始めて, 3日目くらい. 相も変わらずゲームづくりは向いていないかもしれない.

24日の午後11時に学校に向かった.

やったこと

サークルの先輩の書いたコードの修正.

内容

再帰検索の関数を作成したりしていた.

以下は幅優先探索C#で書いたもの.

Unity使ってる人は面白いかもしれない.

そもそも, こんな関数があれば良いのになぁってなってる.

/// <summary>
/// 指定した名前で幅優先探索
/// </summary>
/// <param name="self"></param>
/// <param name="findName"></param>
/// <returns>一致したTransform, またはnull</returns>
public static Transform FindGameObject(Transform self, string findName) {
    var result = self.Find(findName);
    if (result != null) {
        // 子の中で見つかった時
        return result;
    }
    foreach (Transform child in self) {
        result = FindGameObject(child, findName);
        if (result != null) {
            // 孫以下で見つかった時
            return result;
        }
    }
    return null;
}