using FishNet.Documenting; using FishNet.Object; using System.Collections.Generic; using UnityEngine; namespace FishNet.Managing.Object { //document [APIExclude] public abstract class PrefabObjects : ScriptableObject { /// /// CollectionId for this PrefabObjects. /// public ushort CollectionId { get; private set; } /// /// Sets CollectionIdValue. /// internal void SetCollectionId(ushort id) => CollectionId = id; public abstract void Clear(); public abstract int GetObjectCount(); public abstract NetworkObject GetObject(bool asServer, int id); public abstract void RemoveNull(); public abstract void AddObject(NetworkObject networkObject, bool checkForDuplicates = false); public abstract void AddObjects(List networkObjects, bool checkForDuplicates = false); public abstract void AddObjects(NetworkObject[] networkObjects, bool checkForDuplicates = false); public abstract void AddObject(DualPrefab dualPrefab, bool checkForDuplicates = false); public abstract void AddObjects(List dualPrefab, bool checkForDuplicates = false); public abstract void AddObjects(DualPrefab[] dualPrefab, bool checkForDuplicates = false); public abstract void InitializePrefabRange(int startIndex); } }