This document is about: FUSION 2-SHARED
SWITCH TO

네트워크 속성(Networked Properties)

개요

네트워크 속성은 NetworkBehaviour를 상속받은 클래스의 속성으로, 관련된 네트워크 객체의 네트워크 상태를 정의합니다.

네트워크 속성을 정의하려면, NetworkBehaviour를 상속받은 클래스의 자동 속성(auto-property)에 [Networked] 속성을 추가하면 됩니다.

중요: 직접 속성을 구현하지 마세요! 자동 속성(auto-property)으로 남겨두세요. 특수한 속성 처리가 필요한 경우, 별도의 속성으로 래핑 해야 합니다.

C#

public class PlayerBehaviour : NetworkBehaviour
{
  [Networked] public float Health { get; set; }
}

지원되는 타입

Fusion에서 지원되는 타입은 다음과 같습니다:

  • 기본 타입: byte, short, int, long, ushort, uint, ulong, float, double
  • 유니티 타입: Vector2, Vector3, Vector4, Quaternion, Vector2Int, Vector3Int, Rect, RectInt, Color, Color32
  • Fusion 타입: NetworkObject, NetworkBehaviour, NetworkString<>, NetworkBool, Angle, NetworkId, PlayerRef, SceneRef, TickTimer
  • 문자열(Strings): Capacity 속성이 필요
  • 구조체(Structs): INetworkStruct를 구현한 구조체

기본값 설정

[Networked] 속성에 대해 기본값을 설정할 수 있습니다.

일반 타입(Common Types)

대부분의 일반적인 타입은 간단한 할당으로 기본값을 설정할 수 있습니다.

C#

public class PlayerBehaviour : NetworkBehaviour
{
  [Networked] public float Health { get; set; } = 100;
  [Networked] public NetworkObject DefaultNetworkObject { get; set; } = GameObject.FindGameObjectWithTag("Foo").GetComponent<NetworkObject>();
}

컬렉션

네트워크 컬렉션(Network Collections)NetworkArray<T>, NetworkDictionary<K, V>, NetworkLinkedList<T>, NetworkString<_size> 등은 특별한 구문이 필요합니다. 자세한 내용은 해당 페이지를 참조하세요.

용량

[Capacity] 속성은 NetworkArray, NetworkDictionary, NetworkLinkedList, NetworkString, 문자열 등의 최대 크기를 정의하는 데 사용됩니다.

C#

public class MyNetworkBehaviour : NetworkBehaviour
{
  [Networked, Capacity(14)]
  string MyString { get; set; }

  [Networked, Capacity(8)]
  NetworkArray<byte> MyArray { get; }
}

변경 감지

변경 감지에 대한 자세한 내용은 변경 감지을 참조하세요.

Back to top