소유권

복제된 개체는 저마다 소유자가 있습니다. 소유권에 따라 개체와 그 액션, 상태에 대해 권한이 있는 클라이언트가 정해집니다.

예를 들어, 어떤 개체를 그 소유자가 움직이면 새 포지션이 나머지 클라이어트 전체에 전달되며, 각 클라이언트는 로컬 레플리카에 변경사항을 적용합니다.

클라이언트의 소유가 아닌 개체의 포지션을 바꾸려고 하면 그 클라이언트 로컬에서만 바뀔 뿐이며, 다음 업데이트할 때 그 변경사항을 덮어써 버립니다.

소유권 이전

일반적으로, 개체의 소유자는 그것을 인스턴스화한 방 멤버입니다. 그러나 소유권은 방 멤버 간에 이전할 수 있습니다. 이전은 개체의 소유자가 방을 떠나고 해당 개체의 속성 ConnectionClosedBehaviourChangeOwnership으로 설정되어 있을 때 일어납니다.

이것은 AI가 제어하는 캐릭터(NPC)에게 유용합니다. NPC가 늘 방에 존재하고 마지막 멤버가 떠날 때까지 누군가가 이들을 제어하기 때문입니다.

소유권과 복제 확인

StrixReplicator에는 스크립트가 소유권과 복제 동작을 처리하도록 유용한 정보를 제공하는 두 가지 속성이 있습니다. 이 두 속성은 StrixBehaviour 클래스를 상속하는 스크립트에서도 직접 이용할 수 있습니다.

isLocal

이 Replicator가 소유자 개체에 연결되어 있다면 참입니다.

isSync

이 Replicator가 연결되어 있는 개체에 Replicator가 하나 이상 있다면 참입니다.