수정중인 페이지 입니다.

네트워크 콜백

소개

Fusion은 후킹 할 수 있는 다양한 콜백을 제공하며, 이러한 콜백은 시뮬레이션의 특정 부분에 접근하고 중요한 이벤트를 수신하는 데 유용합니다.

메인 화면으로
 

INetworkRunnerCallbacks

NetworkRunnerINetworkRunnerCallbacks 인터페이스를 구현하고 NetworkRunner.AddCallbacks()을 호출하여 스크립트를 러너에 등록함으로써 애플리케이션이 중요한 네트워크 관련 이벤트를 후크 할 수 있도록 합니다.

노트: NetworkRunnerINetworkRunnerCallback를 가지고 있는 동일한 GameObject 그리고 동일한 계층 레벨에 있는 모든 컴포넌트를 자동으로 등록합니다. INetworkRunnerCallbacks의 모든 다른 인스턴스는 NetworkRunner.AddCallbacks()의 사용이 필요합니다.

메소드 리턴 추가 정보
OnPlayerJoined NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
PlayerRef player: 참여한 플레이어의 PlayerRef.
새로운 플레이어가 참여하면 NetworkRunner의 콜백. 보통 새로운 플레이어의 아바타를 만드는 데 사용됩니다.
OnPlayerLeft NetworkRunner runner: T로컬 플레이어 NetworkRunner 참조.
PlayerRef player: 떠나는 플레이어의 PlayerRef.
플레이어 연결이 끊겼을 때 NetworkRunner에서 콜백. 일반적으로 플레이어 아바타를 없애는 데 사용됩니다.
OnInput NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
NetworkInput input: 폴링 된 입력을 보내는 데 사용되는 네트워크 입력 구조체.
사용자 입력을 위해 폴링 하는 NetworkRunner의 콜백. NetworkInput은 다음의 지원이 예상됩니다.: input.Set(new CustomINetworkInput() { /* your values *‍/ });
OnInputMissing NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
NetworkInput input: 폴링 된 입력 전송을 위해 사용되는 NetworkInput 구조체.
호스트가 특정 틱에 있는 특정 플레이어로부터 입력을 받을 수 없는 경우 호스트에서 콜백이 호출됩니다. 제공된 NetworkInput을 사용하여 대체 입력을 생성할 수 있습니다.
OnShutdown NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
ShutdownReason shutdownReason: 열거형 형태로 구성되어 있는 셧다운 원인.
로컬 러너가 셧다운 되었을 떄 호출됨.
OnConnectedToServer NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조. NetworkRunner가 서버 또는 호스트에 성공적으로 연결되었을 때 콜백.
OnDisconnectedFromServer NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조. NetworkRunner가 서버 또는 호스트에 연결 해제되었을 때 콜백.
OnConnectRequest NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
NetworkRunnerCallbackArgs.ConnectRequest request: 원격 클라이언트에서 보낸 연결 요청의 데이터 소유자입니다.
byte[] token: 클라이언트가 제공하는 사용자 지정 연결 토큰.
NetworkRunner가 원격 클라이언트로부터 연결 요청을 수신할 때 콜백.
OnConnectFailed NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
NetAddress remoteAddress: IP 및 포트를 포함하는 네트워크 주소를 나타냅니다. 여기에는 IPv4 또는 IPv6 주소가 포함될 수 있습니다.
NetConnectFailedReason reason: 열거형 형태로 연결이 실해한 원인
NetworkRunner가 서버 또는 호스트 연결이 실패했을 때 콜백.
OnUserSimulationMessage NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
SimulationMessagePtr message: 수신한 시뮬레이션 메시지의 포인터
이 콜백은 원격 피어에서 수동으로 발송된 시뮬레이션 메시지를 수신할 때 호출됩니다.
OnSessionListUpdated NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
List< SessionInfo > sessionList: 수신한 SessionInfo 목록.
이 콜백은 Photon Cloud에서 새 세션 목록을 수신할 때 호출됩니다.
OnCustomAuthenticationResponse NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
Dictionary< string, object > data: 사용자 지정 인증 응답 값.
인증 절차가 인증 서버의 응답을 반환할 때 콜백이 호출됩니다.
OnHostMigration NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
HostMigrationToken hostMigrationToken: 호스트 마이그레이션이 완료된 후 Fusion Runner를 다시 시작하는 데 필요한 모든 정보가 포함된 임시 홀더.
콜백은 호스트 마이그레이션 프로세스가 시작되면 호출됩니다.
OnReliableDataReceived NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조.
PlayerRef player: 데이터를 전송한 플레이어.
ArraySegment< byte > data: 수신한 데이터.
신뢰할 수 있는 데이터가 수신되면 호출됩니다. 예를 들어 텍스처와 같은 보다 강력한 데이터를 전송하는 데 사용할 수 있습니다. 주의해서 사용해야 합니다.
OnSceneLoadDone NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조. 씬 로드 프로세스가 완료되면 NetworkSceneManagerBase에서 호출됩니다. StartGameArgs.SceneManager에 제공할 사용자 지정 항목을 구현하는 경우에 이 콜백을 수동으로 호출해야 합니다.
OnSceneLoadStart NetworkRunner runner: 로컬 플레이어 NetworkRunner 참조. 씬 로드 프로세스가 시작될 때 NetworkSceneManagerBase에서 호출됩니다. StartGameArgs.SceneManager에 제공할 사용자 지정 항목을 구현하는 경우에 이 콜백을 수동으로 호출해야 합니다.

메인 화면으로
 

콜백 실행 순서

시뮬레이션의 각 부분에 대한 구체적인 콜백이 많이 있습니다. 이 사항들은 실행 순서 페이지에 쇼케이스로 나타나있습니다. 다음은 여기서 언급할 가치가 있는 몇 가지 선택 사항입니다.

IBeforeAllTicks/IAfterAllTicks

이러한 인터페이스는BeforeAllTicks(bool resimulation, int tickCount)AfterAllTicks(bool resimulation, int tickCount)에 접근하는 데 사용됩니다. 이러한 호출은 리시뮬레이션 루프(해당하는 경우) 이전과 포워드 시뮬레이션 루프 이전에도 호출됩니다. 리시뮬레이션 또는 포워드 틱이 처리되는 업데이트에서만 호출됩니다.

resimulation 부울은 리시뮬레이션 전에 실행될 때 true이고 포워드 틱 전에 호출될 때 false입니다. tickCount는 처리될 틱 수를 제공합니다.

메인 화면으로
 

IBeforeTick/IAfterTick

위 사항과 유사하지만, 각 틱에 대해 실행됩니다.

기술문서 TOP으로 돌아가기