본문 바로가기
게임 개발/Unity3D

[Unity | 유니티] Serializable Class 활용하기

by 불타는홍당무 2018. 11. 21.

인스펙터에서 상의 변수들을 그룹으로 분류하여 serializable class로 만들면 관리가 용이하다.

Serializable Class 만들기

  1. 공통 속성을 가진 변수들을 그룹지어 클래스를 만든다. [Serializable] 속성을 부여한다.
  2. 생성한 클래스에 변수들을 모두 public으로 선언한다.
  3. Awake()나 Start()에서 초기화할 필요가 없다. 초기화는 유니티가 자체적으로 해 준다.
  4. 변수 선언시 초기화 값을 지정할 수 있다.
플레이어가 가진 속성을 이동속성과 체력속성으로 분리하여 serializable class로 관리해 보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Serializable]
public class MovementProperties //Not a MonoBehaviour!
{
    public float movementSpeed;
    public float turnSpeed = 1//default provided
}
[Serializable]
public class HealthProperties //Not a MonoBehaviour!
{
    public float maxHealth;
    public float regenerationRate;
}
 
public class Player : MonoBehaviour
{
    public MovementProperties movementProperties;
    public HealthProperties healthProperties;
}
cs