Signal
스크립트 간 통신을 위한 모듈입니다.
클라이언트 스크립트 또는 서버 스크립트 간의 통신에 사용되는 클래스입니다. 다른 스크립트에 존재하는 함수를 실행하는 데 Signal을 사용할 수 있습니다.
ℹ️
클라이언트와 서버 스크립트 간의 Signal 전달에는 Event Manager 모듈을 사용해야 합니다.
메소드
.send()
.send(name, params)
name에 해당하는 Signal를 보냅니다. Signal는 클라이언트 스크립트 전체 또는 서버 스크립트 전체에 전달됩니다. params 옵션을 통해 매개변수를 전달할 수 있습니다.
.addListener()
.addListener(name, callback)
name에 해당하는 Signal를 받았을 때 실행할 함수를 등록합니다. 전송 시 보낸 매개변수가 있다면, 이를 받아 콜백 함수로 전달합니다.
.removeListener()
.removeListener(name, callback)
name에 해당하는 Signal에 대해 특정 함수가 등록되어 있다면, 등록된 함수 목록에서 제거합니다.
예시
- ObjectA
// This Object listens signal
function Start() {
REDBRICK.Signal.addListener("MOVE", (params) => {
this.move(params.x, params.y, params.z, params.duration);
});
}
- ObjectB
// This Object sends signal
function OnKeyDown(event) {
if (event.code === "KeyM") {
REDBRICK.Signal.send("MOVE", { x: 0, y: 1, z: 0, duration: 1 });
}
}