Unity 이론 (Bin File, OnInspectorGUI, Dispose)

로젠·2024년 5월 19일
0

게임 프로그래밍

목록 보기
41/49
post-thumbnail

FileStream

FileStream은 해당 경로의 파일의 Stream을 열어주는 것으로 파일 모드를 선택할 수 있다. 해당 코드를 사용하면 끝날 때 반드시 닫아줘야 한다.

FileStream stream = new FileStream(path, FileMode.Create);
stream.close();

BinaryReader/Writer

이진 형태의 데이터를 스트림에 읽거나 쓰는 클래스를 말한다. 이 코드도 FileStream과 같이 사용이 끝나면 반드시 닫아줘야 한다.

BinaryWriter writer = new BinaryWriter(stream);
writer.Close();

CustomEditior

Editor를 상속받은 클래스만 사용이 가능하고 이는 Editor을 커스터마이징을 할 수 있다.

[CustomEditor(typeof(Animator))]

SerializeObject

SerializeObject는 변수를 선언할 때 SerializeField를 해주는 것과 비슷하여 이를 이용하면 Inspecter에서 보이게 한다. 모든 Object는 SerializeObject를 사용 가능하다.

EditorGUILayout

Editor의 GUI를 원하는 형태로 바꿔줄 수 있다. 예를 들어 BeginVertical 사이에 GUI.Box를 삽입하면 박스 형태의 GUI가 나타난다.

EditorGUILayout.BeginVertical();
{
}
EditorGUILayout.EndVertical();

IDisposable

IDisposable는 인터페이스로 해당 인터페이스 안에는 Dispose() 함수가 들어가 있다. IDisposable을 상속받고 Dispose 함수를 재정의 할 수 있다.

Dispose Pattern

임의로 삭제가 가능하고 만약 삭제를 안 하면 시스템에서 자동으로 삭제를 해주는 패턴을 말한다.

종료자

종료자는 가비지 컬렉터가 삭제되면서 호출하는 것으로 어떤 타이밍에 호출이 되는지를 결정하지 못해 잘 사용하지 않는다.

GC.SuppressFinalize()

현재 객체에 대해 종료자 콜을 방지해 주는 것이다. Dispose 안에 사용하여 Dispose를 실행하면 종료자를 호출할 필요가 없기 때문에 사용한다.

public void Dispose()
{
	Dispose(true);
    GC.SuppressFinalize(this);
}

0개의 댓글