using System; using UnityEngine; namespace Unity.Netcode { internal enum NetworkPrefabOverride { None, Prefab, Hash } /// /// Class that represents a NetworkPrefab /// [Serializable] internal class NetworkPrefab { /// /// The override setttings for this NetworkPrefab /// public NetworkPrefabOverride Override; /// /// Asset reference of the network prefab /// public GameObject Prefab; /// /// Used when prefab is selected for the source prefab to override value (i.e. direct reference, the prefab is within the same project) /// We keep a separate value as the user might want to have something different than the default Prefab for the SourcePrefabToOverride /// public GameObject SourcePrefabToOverride; /// /// Used when hash is selected for the source prefab to override value (i.e. a direct reference is not possible such as in a multi-project pattern) /// public uint SourceHashToOverride; /// /// The prefab to replace (override) the source prefab with /// public GameObject OverridingTargetPrefab; } }