[TargetRpc]
[TargetRpc] 속성은 서버에서 특정 클라이언트에게만 함수를 호출할 때 사용합니다. 서버의 상태 변경을 특정 클라이언트에게만 전달할 때 사용됩니다.
주요 특징
- 서버에서 특정 클라이언트로의 호출만 가능합니다
- 지정된 클라이언트에서만 실행됩니다
- 함수 이름은 반드시 Target접두사로 시작해야 합니다
- 첫 번째 매개변수는 반드시 NetworkConnection 타입이어야 합니다
사용 예시
기본 사용법
public class PlayerNotification : NetworkBehaviour
{
    [Server]
    private void NotifyPlayer(NetworkConnection target)
    {
        TargetShowMessage(target, "접속을 환영합니다!");
    }
    [TargetRpc]
    private void TargetShowMessage(NetworkConnection target, string message)
    {
        // 특정 클라이언트에서만 실행되는 로직
        // UI 메시지 표시, 사운드 재생 등
    }
}
개인화된 정보 전달
public class InventorySystem : NetworkBehaviour
{
    [Server]
    private void SendInventoryUpdate(NetworkConnection player, List<Item> items)
    {
        TargetUpdateInventory(player, items);
    }
    [TargetRpc]
    private void TargetUpdateInventory(NetworkConnection target, List<Item> items)
    {
        // 특정 플레이어의 인벤토리 UI 업데이트
    }
}
개별 알림 전송
public class QuestManager : NetworkBehaviour
{
    [Server]
    private void QuestCompleted(NetworkConnection player, int questId)
    {
        TargetShowQuestComplete(player, questId);
    }
    [TargetRpc]
    private void TargetShowQuestComplete(NetworkConnection target, int questId)
    {
        // 퀘스트 완료 UI 표시
        // 보상 획득 애니메이션 재생
        // 효과음 재생 등
    }
}
노트
- TargetRpc는 특정 클라이언트에게만 정보를 전달할 때 사용됩니다
- 함수 이름은 반드시 Target접두사로 시작해야 합니다
- 첫 번째 매개변수로 NetworkConnection을 받아야 합니다
- 개인화된 메시지, 특정 플레이어 상태 업데이트 등에 주로 사용됩니다