エディタ拡張

【Unity】文字列の最後に連番を追加するエディタ拡張

文字列の最後に連番を追加するエディタ拡張

階層内の数を見て、文字列の最後に連番をつけます。

コード

using UnityEngine;
using UnityEditor;

public class GameObjectAddNumber : MonoBehaviour
{
    [MenuItem("UITools/連番を追加", false, 1)]

    static void AddNumber(MenuCommand command)
    {
        string number = "1";

        foreach (GameObject obj in Selection.gameObjects)
        {
            Undo.RegisterCompleteObjectUndo(obj, "Undo Add Number");

            int sibling = obj.transform.GetSiblingIndex();

            obj.name = string.Format("{0}{1}", obj.name + "_", (int.Parse(number) + sibling).ToString()); 
        }
    }
}

備考

  • string number = “0”; にすれば0からはじまります

  • .transform.GetSiblingIndex 同階層における順序数

  • {0}{1}は数値の書式指定 0埋め1桁

ABOUT ME
すいみん
テクニカルなことが好きなCGデザイナー