728x90
반응형
using UnityEngine;
using System.Linq;
public class OrderChildren : MonoBehaviour
{
public GameObject m_Parent;
private GameObject[] m_Children;
void Start()
{
m_Children = GetChildren(m_Parent);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Order(true); // 오름차순
}
if (Input.GetKeyDown(KeyCode.Z))
{
Order(false); // 내림차순
}
}
void Order(bool isAscending)
{
if(isAscending)
m_Children = m_Children.OrderBy(go => go.name).ToArray();
else
m_Children = m_Children.OrderByDescending(go => go.name).ToArray();
for (int i = 0; i < m_Children.Length; i++)
{
m_Children[i].transform.SetSiblingIndex(i);
}
}
GameObject[] GetChildren(GameObject parent)
{
GameObject[] children = new GameObject[parent.transform.childCount];
for (int i = 0; i < parent.transform.childCount; i++)
{
children[i] = parent.transform.GetChild(i).gameObject;
}
return children;
}
}
728x90
반응형
'프로그램 > 유니티 스크립트 소스' 카테고리의 다른 글
[유니티 스크립트 소스] 목표 위치값까지 Rigidbody를 이용하여 포물선 궤적으로 오브젝트 날리기 (0) | 2021.02.21 |
---|---|
[유니티 스크립트 소스] 음력 구하기 (0) | 2021.02.20 |
[유니티 스크립트 소스] 배열, 리스트 섞기(Shuffle) (0) | 2021.02.09 |
[유니티 스크립트 소스] 유니티 에디터에서 재생 클릭시 씬 자동 저장 (0) | 2021.02.02 |
[유니티 스크립트 소스] 마우스 더블 클릭 (0) | 2021.02.02 |