Skip to content

MonoManager

29thnight edited this page Nov 27, 2025 · 1 revision

MonoManager

간단 설명: Mono(C#) 런타임을 초기화하고 어셈블리 로드/도메인 관리/ICall 등록/스크립트 이벤트 바인딩을 담당하는 싱글턴. (UNUSE_MONO_LIB 시 비활성)

초기화/종료

메서드 설명
Initialize(domainName, monoLibDir, monoEtcDir, enableDebug) 루트/앱 도메인 생성 및 환경 설정
Shutdown() 정리 및 언로드

어셈블리/도메인

메서드 설명
LoadAssembly(name, path) 어셈블리 로드(옵셔널 패키지 반환)
UnloadAllAssemblies() 모두 언로드
ReloadAll(pairs) 일괄 재로딩
GetRootDomain()/GetAppDomain() 도메인 포인터 조회
CreateInstance(klass) 인스턴스 생성

호출/도우미

메서드 설명
GetClass(ns, name, image) 클래스 찾기
GetMethod(klass, methodName, paramCount) 메서드 찾기
InvokeStatic/Invoke(instance, methodName, args, paramCount) 메서드 호출
ToMonoString/FromMonoString 문자열 변환
FormatException(exception) 예외 메시지 포맷
GCCollect()/GCWaitForPendingFinalizers() GC 제어
GetImage(assemblyName) 이미지 조회

스크립트 이벤트 바인딩

메서드 설명
BindScriptEvents(component) 컴포넌트 이벤트를 Mono 메서드에 연결
UnbindScriptEvents(component) 연결 해제 및 핸들 제거

내부적으로 m_assemblies, m_behaviorRecords 맵과 뮤텍스로 스레드 안전을 보장.

CreatorEngine

API Docs

API Reference
Main
PhysicsSystem
RenderEngine
ScriptBinder
Utility_Framework

etc

Clone this wiki locally