PluginManager - stingray.PluginManager 네임스페이스 참조 - Stingray Lua API 참조

stingray.PluginManager 네임스페이스 참조

설명

Stingray 플러그인 시스템과 상호 작용하는 인터페이스입니다.

PluginManager는 싱글톤이며 클래스의 인스턴스를 생성하지 않고 사용할 수 있습니다.

함수

매개변수

dir :

string

새로운 DLL을 모니터링할 디렉토리입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.

이미 로드된 플러그인의 이름과 일치하는 새 플러그인이 dir 디렉토리에 있고 해당 플러그인이 핫 리로드 인터페이스를 지원하는 경우 플러그인이 다시 로드됩니다.

엔진은 사용 중인 DLL을 잠그고 디버거가 임의 수의 이전 .pdb 파일을 잠글 수 있기 때문에 플러그인의 사전 빌드 단계에 다음 단계를 추가하는 것이 좋습니다.

rename ${plugin}.dll ${plugin}.dll.old
rename ${plugin}.pdb ${plugin}.${timestamp}.pdb.old
del *.old

이름을 바꾸면 새 DLL이 생성되는 동안 엔진에서 이전 DLL을 계속 사용할 수 있습니다. 디버거는 PDB를 만나면 이를 잠그기 때문에 PDB의 이름을 바꿀 때 타임스탬프를 추가해야 합니다. 마지막 del 명령은 오류를 허용하도록 설정되어야 합니다. 이 명령은 아직 사용 중인 DLL과 PDB에서 실패하므로 이들 파일을 그대로 유지합니다.

매개변수
이 함수는 어떠한 매개변수도 수용하지 않습니다.
반환하는 항목

string[]

로드된 모든 플러그인의 이름 목록입니다.

[] 표기는 이 유형이 어레이임을 나타냅니다. 어레이는 구성원의 키가 순차적인 정수이며, 각 요소의 값이 표시된 유형의 인스턴스인 테이블입니다.
매개변수

path :

string

플러그인에 대한 경로입니다.

반환하는 항목

string?

성공하면 로드된 플러그인의 이름을 반환하고, 그렇지 않으면 nil을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

그러한 파일이 없거나 로드할 수 없는 경우 이 함수는 nil을 반환합니다.

매개변수

relative_path :

string

응용프로그램의 플러그인 디렉토리에서 플러그인에 대한 상대 경로입니다.

반환하는 항목

string?

성공하면 로드된 플러그인의 이름을 반환하고, 그렇지 않으면 nil을 반환합니다.

? 표기는 이 유형이 선택 사항임을 나타냅니다. 해당 인스턴스가 0개 또는 한 개일 수 있습니다.

그러한 파일이 없거나 로드할 수 없는 경우 이 함수는 nil을 반환합니다.

매개변수

dir :

string

새로운 DLL에 대해 더 이상 모니터링되지 않는 디렉토리입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.
매개변수

name :

string

플러그인의 이름입니다.

반환하는 항목
이 함수는 아무 값도 반환하지 않습니다.