이트레이닝 코어플랫폼 프레임워크 문서화  1.3.0.0
 모두 클래스 네임스페이스들 함수 변수 열거형 타입 속성 페이지들
서브시스템

서브시스템의 생성과 사용법을 설명합니다.

서브시스템

서브시스템은 시뮬레이션 엔진에서 사용하는 코어엔진의 미들웨어입니다.

서브시스템 생성

ETE.Engine.BaseSubSystem을 상속받은 새로운 SubSystem을 만들 수 있습니다.

using ETE.Engine;
public class MyEngineSubSystem : SubSystem
{
...
}

서브시스템의 실행

장면에 서브시스템을 추가합니다. 추가된 서브스시템은 매 프레임마다 실행(SubSystem.Run())됩니다.

using ETE.Engine;
{
...
Scene scene = ...
MyEngineSubSystem subSystem = new MyEngineSubSystem();
scene.AddSubSystem(subSystem);
...
}

서브시스템과 컴포넌트의 연동

서브시스템은 EventAggregator를 사용해 특정 타입의 컴포넌트에 메시지를 전송할 수 있습니다.

using ETE.Engine;
public class MyEngineComponent : Component
{
int myField = 0;
void MyEventMethod()
{
myFiled = 1;
}
}
public class MyEngineSubSystem : BaseSubSystem
{
...
void Run()
{
...
EventAggregator.PublishMessage<MyEngineComponent>("MyEventMethod", null);
...
}
...
}

서브시스템의 생명주기

서브시스템은 크게 3단계의 생명주기를 가집니다. BaseSubSystem Class를 상속 받은 Class는 Loaded, Run, Unloaded를 필수적으로 구현해야합니다.

이벤트 설명
PreLoaded 'Loaded'가 호출되기 전에 호출됩니다.
Loaded 장면이 실행되고 최초 실행시 호출됩니다.
PostLoaded 'Loaded'가 호출된 후에 호출됩니다.
Run 매 프레임마다 호출됩니다.
PreUnloaded 'Unloaded'가 호출되기 전에 호출됩니다.
Unloaded 장면이 종료될 때 호출됩니다.
PostUnloaded 'Unloaded'가 호출된 후에 호출됩니다.