Unity 이론 (SerializedObject, Serialzation, Design Pattern, Selection.activeGameObject)

로젠·2024년 5월 19일
0

게임 프로그래밍

목록 보기
42/49
post-thumbnail

SerializeObject

UnityEngin(Object) <-> SerializeObject <-> Asset으로 object를 직렬화해서 다루기 위해 사용한다. 모든 Object는 SerializeObject가 사용 가능하다.

XML

텍스트파일로 마크업을 한 파일로 저장한것을 말한다. <이름>1</이름>과 같은 형태를 가지고 있다.

Test_Serializer serializer = serializedObject.targetObject as Test_Serializer;
object obj = serializer.CharacterData;
XmlSerilizer xml = new XmlSerializer(typeof(Data));
xml.Serialize(writer, obj);

Binary

경로와 파일 모드를 주고 BinaryFormatter을 이용하여 직렬화를 시켜준다.

Selection.activeObject

Hierarchy에서 현재 선택된 Onject만 정해진 행동을 하라고 하는 것이다.

string path = AssetDatabase.GetAssetPath(Selection.activeObject);

Prototype

원본을 가져와 복사해 생성하는 패턴이다. prefeb이 가장 자주 사용하는 Prototype 패턴이다.

Flyweight

경량화 패턴으로 서로 간 공유하는 패턴이다. Transform만 대량 생성하고 나머지는 공유한다. 주로 변하지 않는 데이터에 사용한다.

Selection.activeGameObject

선택된 게임 오브젝트만 해당 게임 오브젝트만 정해진 행동을 하게 한다.

if(Selection.activeGameObject != gameObject)
	return;

0개의 댓글