[Photon Server] 1-2. Fusion: Network Runner

Network Runner
- 단일 네트워크 Peer를 대표하는 컴포넌트이다.
- 여러
Network Runner를 단일 유니티 인스턴스에서 실행할 수 있다.
Room 생성 및 참가
StartGame()는 StartGameArgs 인자로 특정된 Room을 생성 및 참가할 수 있는 Peer를 생성한다.
- 하나의 Network Runner는 한번만 사용가능하다.
- 한번 세션을 잃게되면 기존
Network Runner는 제거하고 새로 생성해야한다.
Network Runner 지원 컴포넌트

StartGame()을 실행하면 NetworkRunner는 모든 SimulationBehaviour 컴포넌트를 등록한다.
SimulationBehaviour 컴포넌트는 FixedUpdateNetwork()와 Render() 콜백을 받는다.
INetworkRunnerCallbacks를 상속받은 컴포넌트도 등록한다.
Built-In Fusion Runner 컴포넌트
HitboxManager
RunnerLagCompensationGizmos
RunnerAOIGizmos
RunnerEnableVisibility
Player / PlayerRef Struct
- 각
Network Runner는 PlayerRef 구조체 값을 가진다.
- 로컬
PlayerRef는 Runner.LocalPlayer로 접근 가능하다.
Tick Manegement
- Tick이 시뮬레이션될 때, 모든
FixedUpdateNetwork()과 시뮬레이션 관련 콜백을 호출한다.
Network Object Manegement
Network Object의 라이프사이클을 관리한다.
Interest Management
이벤트 함수
Spawned()
Despawned(NetworkRunner runner, bool hasState)
SimulationBehaviour 가상 이벤트 콜백
FixedUpdateNetwork()
Render()
- 인터페이스
IAfterSpawned
IBeforeAllTicks
IAfterAllTicks
IBeforeTick
IAfterTick
IPlayerJoined
IPlayerLeft