내일배움캠프_Unity_6기/TIL(Today I Learend)
TIL : 2024-11-06(수) :: Inspector에 2차원 배열 표시하기
BirdHead
2024. 11. 6. 23:01
개발중에 <포탈> 모작의 퍼즐류 게임에서 각종 스위치,오브젝트를 기믹대로 완수하여 길을 열거나 보상을 받는 것을 구현하고싶었다. 2차원 배열을 사용하여 하나의 행에 해당 기믹이 완료되면 그 행에 있는 모든 보상이 받아지게 하고 싶었다.
구현 자체는 쉽지만 Inspector에 개발자가 쉽게 접근하여 수정을 했으면 원했다.
Inspector로 2차원 배열을 표현하는 방법은 이랬다.
//행 안에 들어갈 Data(Class 및 Struct)를 만든다.
//이때 [System.Serializable] 는 필수
[System.Serializable]
public class OnRewardObject
{
public bool isReward;
public GameObject[] RewardObject;
}
public class Stage : MonoBehaviour, IStageManager
{
public ObjectZone[] objectZone; //기믹리스트
public OnRewardObject[] RewardObjects; //기믹에 성공한경우 해당 오브젝트가 움직임
...
}
코드를 이렇게 작성시에
인스펙터에 이렇게 표현된다.