내일배움캠프_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; //기믹에 성공한경우 해당 오브젝트가 움직임
    
...    
}

코드를 이렇게 작성시에

 

인스펙터에 이렇게 표현된다.