반응형
변수 변경시 이벤트 발생 (Simple Event Handler)을 참고하여 아래의 코드를 빈 오브젝트에 추가하자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PublicEventHandler : MonoBehaviour
{
public int INTEGER;
public int integer
{
set
{
integer = INTEGER;
Debug.Log("Value : " + integer);
}
get
{
return INTEGER;
}
}
}
그리고 게임을 실행해서 INTEGER를 변경해보자.
Debug.Log가 호출되지 않는다.
public 변수인 INTEGER를 인스펙터에서 변경한다고 하더라도 아무 변화가 없다.
public 변수를 변경하였을 때 이벤트를 호출하는 간단한 방법은 OnValidate를 이용하는 방법이다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PublicEventHandler : MonoBehaviour
{
public int INTEGER;
public int integer
{
set
{
integer = INTEGER;
}
get
{
return INTEGER;
}
}
void OnValidate()
{
if(INTEGER < int.MaxValue)
{
Debug.Log("Hello"); // callback function
}
}
}
적절한 상황에서 INTEGER가 변경될 때 callback 함수를 호출하면 된다.
게임을 실행하고 INTEGER를 변경하면 public 변수가 변경되어도 함수가 호출되는 것을 알 수 있다.
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
반응형
'개발 > Unity' 카테고리의 다른 글
유니티 - 절차적 메시 기준점 설정하기 (Setting Offset with Procedural Mesh) (1) | 2022.10.30 |
---|---|
유니티 - 절차적 메시로 삼각형 그리기 (Make Triangle with Procedural Mesh) (0) | 2022.10.30 |
유니티 - 오목 다각형의 삼각분할 (Polygon Triangulation) (0) | 2022.10.29 |
유니티 - 2차원 평면에서 유한한 선의 교점 구하기 (Intersection of Two Finite Lines in 2-Dimension) (0) | 2022.10.29 |
유니티 - CreatePrimitive로 기본 오브젝트 만들기 (Create PrimitiveType Object) (0) | 2022.10.29 |
댓글