내일은 진짜 공부함;;; ㄹㅇㅋㅋ 오늘 리액트 강의 밀린거 듣느라 못핸는데 내일도 리액트 강의 들어야 되네 ....................... 내일은 진짜 종일 공부하겠습니다 (아침에 필라테스만 갓다오고 ... )
기본적으로 대부분의 로직은 서버 → 클라이언트의 단방향
클라이언트 → 서버로 동기화 될 경우
onSyncProperty()
→ 어떤 prop이 변경되었을 때 동기화 시에 호출됨 ( client only )
method 자체에 설정 가능한 옵션 존재 … 함수 우클릭 후 Method Setting
공간 실행 제어 … 함수가 호출될 수 있는 ‘공간’
→ multicast
/ server
/ server only
/ client
/ client only
only 옵션은 일반 옵션과 달리 기존 공간에서 분리될 경우 자동으로 다른 쪽에서 실행 X
공간 설정을 없앨 경우 둘 다 돌아가지만 양방향 흐름은 문제가 생길 수 있어 비추천 !
Multicast는 서버 → 클라이언트 순차적으로 전달
✔ Server 측에서 Client로 함수를 보내 실행시킬 경우 어느 정도의 텀이 생길 수 있음
HandleKeyDownEvent()
→ 입력 관련이므로 클라이언트에 존재 !
NewPlayerComponent {
Property:
[Sync]
number power = 0
Function:
<server> -- power 프로퍼티 동기화를 위해 server에서 작동하도록 변경
void KeyDown() {
log("AAA")
self.power = self.power + 1
}
Entity Event Handler:
HandleKeyDownEvent(KeyDownEvent event) {
-- parameters
local key = event.key
----------------------------------
if key == KetboardKey.A then
self.KeyDown()
end
}
}