Amazon新生活セール開催中!

【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桁



以上、すいみん(@cg_method)でした!

すいみん
専門誌の定期購読をするなら月額980円の「Kindle Unlimited」がおすすめです!


eyecatch-amazon-kindle-unlimited
【Kindle Unlimited】CG・DTP・Webデザイナーにおすすめの読み放題サービス[圧倒的コスパ!]