OldBlueWater/BlueWater/Assets/02.Scripts/Utility/HierarchySorter.cs
NTG 1731b9ad82 Closes #167 02.Combat 씬 재작업
+ Test하던 Scene들을 삭제하고 02.Combat 씬에 전투 맵을 최신화 했습니다.
+ 주인공 캐릭터의 크기를 변경했습니다. (1 -> 0.7)
+ 카메라의 거리를 변경했습니다. (40 -> 30)
+ 주인공 대시 속도를 변경했습니다. (30 -> 20)
+ 주인공 등반 각도를 변경했습니다. (50 -> 30)
+ 기존의 맵에서 y축 높이를 1/2로 줄였습니다.
+ ForestArea, DesertBossArea 두 지역에 대해서 레이어, 콜라이더, 하이어라키를 정리했습니다.
+ 플레이 중 우측 상단의 버튼을 통해서 임시로 위치를 텔레포트하는 기능을 추가했습니다.
+ 하이어라키에서 오브젝트를 이름순으로 정렬하는 기능을 추가했습니다.
(Tools -> Sort Chilren By Name - 선택된 1개 오브젝트의 하위 오브젝트 정리)
(Tools -> Sort Children of Selected Objects by Name - 선택된 모든 오브젝트의 하위 오브젝트 정리)
2024-01-30 11:49:41 +09:00

48 lines
1.6 KiB
C#

using UnityEngine;
using UnityEditor;
using System.Linq;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class HierarchySorter : EditorWindow
{
[MenuItem("Tools/Sort Children by Name")]
private static void SortChildrenByName()
{
if (Selection.activeTransform != null)
{
Undo.RecordObject(Selection.activeTransform.gameObject, "Sort Children by Name");
var children = Selection.activeTransform.Cast<Transform>().OrderBy(t => t.name).ToList();
for (var i = 0; i < children.Count; i++)
{
children[i].SetSiblingIndex(i);
}
EditorUtility.SetDirty(Selection.activeTransform.gameObject);
}
else
{
Debug.LogError("No object selected in the hierarchy");
}
}
[MenuItem("Tools/Sort Children of Selected Objects by Name")]
private static void SortChildrenOfSelectedObjectsByName()
{
foreach (var parentTransform in Selection.transforms)
{
Undo.RecordObject(parentTransform.gameObject, "Sort Children by Name");
var children = parentTransform.Cast<Transform>().OrderBy(t => t.name).ToList();
for (var i = 0; i < children.Count; i++)
{
children[i].SetSiblingIndex(i);
}
EditorUtility.SetDirty(parentTransform.gameObject);
}
}
}
}