• Api Documentation
  • Manual
Show / Hide Table of Contents
  • FishNet
    • InstanceFinder
  • FishNet.Authenticating
    • Authenticator
  • FishNet.Broadcast
    • IBroadcast
  • FishNet.Broadcast.Helping
    • BroadcastHandlerBase
  • FishNet.CodeGenerating
    • AllowMutableSyncTypeAttribute
    • CustomComparerAttribute
    • DefaultDeltaReaderAttribute
    • DefaultDeltaWriterAttribute
    • DefaultReaderAttribute
    • DefaultWriterAttribute
    • ExcludeSerializationAttribute
    • IncludeSerializationAttribute
    • NotSerializerAttribute
    • ReadUnallocatedAttribute
    • UseGlobalCustomSerializerAttribute
  • FishNet.Component.Animating
    • NetworkAnimator
  • FishNet.Component.ColliderRollback
    • ColliderRollback
    • RollbackManager
    • RollbackPhysicsType
  • FishNet.Component.Observing
    • DistanceCondition
    • GridCondition
    • GridEntry
    • HashGrid
    • HashGrid.GridAxes
    • HostOnlyCondition
    • MatchCondition
    • MatchCondition.ConditionCollections
    • OwnerOnlyCondition
    • SceneCondition
  • FishNet.Component.Ownership
    • PredictedOwner
    • PredictedSpawn
  • FishNet.Component.Prediction
    • NetworkCollider
    • NetworkCollider2D
    • NetworkCollision
    • NetworkCollision2D
    • NetworkTrigger
    • NetworkTrigger2D
    • OfflineRigidbody
    • Rigidbody2DState
    • RigidbodyPauser
    • RigidbodyState
    • RigidbodyStateExtensions
    • RigidbodyStateSerializers
    • RigidbodyType
  • FishNet.Component.Scenes
    • DefaultScene
  • FishNet.Component.Spawning
    • PlayerSpawner
  • FishNet.Component.Transforming
    • DetachableNetworkTickSmoother
    • MonoTickSmoother
    • NetworkTickSmoother
    • NetworkTransform
    • NetworkTransform.ComponentConfigurationType
    • NetworkTransform.GoalData
    • NetworkTransform.RateData
    • NetworkTransform.SnappedAxes
    • NetworkTransform.TransformData
    • NetworkTransform.TransformData.ExtrapolateState
    • SynchronizedProperty
  • FishNet.Component.Utility
    • BandwidthDisplay
    • PingDisplay
  • FishNet.Connection
    • NetworkConnection
    • NetworkConnectionExtensions
  • FishNet.Managing
    • NetworkManager
    • NetworkManager.HostIterationOrder
    • NetworkManager.PersistenceType
    • NetworkManagerExtensions
    • RemoteTimeoutType
  • FishNet.Managing.Client
    • ClientManager
    • ClientObjects
  • FishNet.Managing.Debugging
    • DebugManager
  • FishNet.Managing.Logging
    • LevelLoggingConfiguration
    • LoggingConfiguration
    • LoggingType
  • FishNet.Managing.Object
    • DualPrefab
    • ManagedObjects
  • FishNet.Managing.Observing
    • ObserverManager
  • FishNet.Managing.Predicting
    • PredictionManager
    • PredictionManager.PostPhysicsSyncTransformDel
    • PredictionManager.PostReconcileDel
    • PredictionManager.PostReplicateReplayDel
    • PredictionManager.PrePhysicsSyncTransformDel
    • PredictionManager.PreReconcileDel
    • PredictionManager.PreReplicateReplayDel
    • PredictionManager.ReconcileDel
    • PredictionManager.ReplicateReplayDel
    • ReplicateStateOrder
  • FishNet.Managing.Scened
    • ClientPresenceChangeEventArgs
    • DefaultSceneProcessor
    • EmptyStartScenesBroadcast
    • LoadOptions
    • LoadParams
    • LoadQueueData
    • PreferredScene
    • ReplaceOption
    • SceneLoadData
    • SceneLoadEndEventArgs
    • SceneLoadPercentEventArgs
    • SceneLoadStartEventArgs
    • SceneLookupData
    • SceneManager
    • SceneProcessorBase
    • SceneScopeType
    • SceneUnloadData
    • SceneUnloadEndEventArgs
    • SceneUnloadStartEventArgs
    • UnloadedScene
    • UnloadOptions
    • UnloadOptions.ServerUnloadMode
    • UnloadParams
    • UnloadQueueData
  • FishNet.Managing.Server
    • ClientConnectionChangeBroadcast
    • ConnectedClientsBroadcast
    • KickReason
    • ServerManager
    • ServerObjects
  • FishNet.Managing.Statistic
    • NetworkTrafficArgs
    • NetworkTraficStatistics
    • StatisticsManager
  • FishNet.Managing.Timing
    • EstimatedTick
    • EstimatedTick.OldTickOption
    • PhysicsMode
    • PreciseTick
    • PreciseTickExtensions
    • PreciseTickSerializer
    • TickRounding
    • TickType
    • TimeManager
  • FishNet.Managing.Transporting
    • IntermediateLayer
    • LatencySimulator
    • TransportManager
  • FishNet.Managing.Utility
    • Packets
  • FishNet.Object
    • ClientAttribute
    • DataOrderType
    • DespawnType
    • EmptyNetworkBehaviour
    • GlobalPreserveOwnedObjects
    • NetworkBehaviour
    • NetworkObject
    • NetworkObject.HostVisibilityUpdatedDelegate
    • NetworkObjectIdComparer
    • NetworkPreserveOwnedObjects
    • ObserversRpcAttribute
    • ReplicateState
    • ReplicateStateExtensions
    • RpcAttribute
    • ServerAttribute
    • ServerRpcAttribute
    • TargetRpcAttribute
    • TransformProperties
    • TransformPropertiesCls
    • TransformPropertiesFlag
    • TransformPropertiesOptionExtensions
  • FishNet.Object.Prediction
    • AdaptiveInterpolationType
    • ChildTransformTickSmoother
    • IReconcileData
    • IReplicateData
    • PredictionigidbodySerializers
    • PredictionRigidbody
    • PredictionRigidbody.AllForceData
    • PredictionRigidbody.EntryData
    • PredictionRigidbody.ForceApplicationType
    • PredictionRigidbody.IForceData
    • PredictionRigidbody2D
    • PredictionRigidbody2D.AllForceData
    • PredictionRigidbody2D.EntryData
    • PredictionRigidbody2D.ForceApplicationType
    • PredictionRigidbody2D2DSerializers
    • ReconcileAttribute
    • ReplicateAttribute
  • FishNet.Object.Synchronizing
    • ByteSyncVar
    • DoubleSyncVar
    • FloatSyncVar
    • ICustomSync
    • IntSyncVar
    • LongSyncVar
    • ReadPermission
    • SbyteSyncVar
    • ShortSyncVar
    • SyncDictionary<TKey, TValue>
    • SyncHashSet<T>
    • SyncList<T>
    • SyncObjectAttribute
    • SyncStopwatch
    • SyncStopwatch.SyncTypeChanged
    • SyncStopwatchOperation
    • SyncTimer
    • SyncTimer.SyncTypeChanged
    • SyncTimerOperation
    • SyncTypeSettings
    • SyncVarAttribute
    • UIntSyncVar
    • ULongSyncVar
    • UShortSyncVar
    • Vector2IntSyncVar
    • Vector2SyncVar
    • Vector3IntSyncVar
    • Vector3SyncVar
    • Vector4SyncVar
    • WritePermission
  • FishNet.Observing
    • HostVisibilityUpdateTypes
    • NetworkObserver
    • NetworkObserver.ConditionOverrideType
    • ObserverCondition
    • ObserverConditionType
  • FishNet.Serializing
    • AutoPackType
    • DeltaSerializerOption
    • DeltaSerializerOptionExtensions
    • PooledReader
    • PooledWriter
    • Reader
    • Reader.DataSource
    • ReaderPool
    • SubStream
    • Writer
    • WriterPool
  • FishNet.Transporting
    • Channel
    • ClientConnectionStateArgs
    • ClientReceivedDataArgs
    • ConnectedClientsArgs
    • IPAddressType
    • LocalConnectionState
    • RemoteConnectionState
    • RemoteConnectionStateArgs
    • ServerConnectionStateArgs
    • ServerReceivedDataArgs
    • Transport
    • TransportConsts
  • GameKit.Dependencies.Utilities
    • ApplicationState
    • Arrays
    • BasicQueue<T>
    • Booleans
    • Bytes
    • CanvaseGroups
    • CanvasGroupBlockingType
    • CollectionCaches<T>
    • CollectionCaches<T1, T2>
    • Collider2DExtensions
    • ColliderExtensions
    • DictionaryFN
    • Disks
    • Enums
    • Floats
    • Hashing
    • Ints
    • IOs
    • IResettable
    • IWeighted
    • Layers
    • LayoutGroups
    • Materials
    • Maths
    • ObjectCaches<T>
    • Objects
    • Particles
    • PointerMonoBehaviour
    • Quaternions
    • ResettableCollectionCaches<T>
    • ResettableCollectionCaches<T1, T2>
    • ResettableObjectCaches<T>
    • ResettableT1CollectionCaches<T1, T2>
    • ResettableT2CollectionCaches<T1, T2>
    • Strings
    • Transforms
    • UInts
    • Vectors
    • WeightedRandom
  • GameKit.Dependencies.Utilities.ObjectPooling
    • ListStack<GameObject>
    • ObjectPool
    • PoolData
  • GameKit.Dependencies.Utilities.ObjectPooling.Examples
    • Projectile
    • ProjectileSpawner
  • GameKit.Dependencies.Utilities.Types
    • ByteRange
    • CanvasGroupFader
    • CanvasGroupFader.FadeGoalType
    • CanvasTracker
    • DDOL
    • FloatRange
    • FloatRange2D
    • IntRange
    • IOrderable
    • RectTransformResizer
    • RectTransformResizer.ResizeData
    • RectTransformResizer.ResizeDelegate
    • ResettableRingBuffer<T>
    • ResettableRingBuffer<T>.Enumerator
    • RingBuffer<T>
    • RingBuffer<T>.Enumerator
    • SceneAttribute
    • ScrollbarValueSetter
    • SingletonScriptableObject<T>
    • SmoothCameraTarget
    • TimedOperation
    • UIntRange
    • Vector2Range
  • GameKit.Dependencies.Utilities.Types.CanvasContainers
    • ButtonData
    • ButtonData.PressedDelegate
    • FloatingContainer
    • FloatingImage
    • ImageButtonData
    • ResizableContainer
  • GameKit.Dependencies.Utilities.Types.OptionMenuButtons
    • FloatingOptions

Class SyncList<T>

Inheritance
System.Object
FishNet.Object.Synchronizing.Internal.SyncBase
SyncList<T>
Implements
System.Collections.Generic.IList<T>
System.Collections.Generic.ICollection<T>
System.Collections.Generic.IReadOnlyList<T>
System.Collections.Generic.IReadOnlyCollection<T>
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: FishNet.Object.Synchronizing
Assembly: FishNet.Runtime.dll
Syntax
[Serializable]
public class SyncList<T> : SyncBase, IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
Name Description
T

Constructors

SyncList(SyncTypeSettings)

Declaration
public SyncList(SyncTypeSettings settings = default(SyncTypeSettings))
Parameters
Type Name Description
SyncTypeSettings settings

SyncList(IEqualityComparer<T>, SyncTypeSettings)

Declaration
public SyncList(IEqualityComparer<T> comparer, SyncTypeSettings settings = default(SyncTypeSettings))
Parameters
Type Name Description
System.Collections.Generic.IEqualityComparer<T> comparer
SyncTypeSettings settings

SyncList(List<T>, IEqualityComparer<T>, SyncTypeSettings)

Declaration
public SyncList(List<T> collection, IEqualityComparer<T> comparer = null, SyncTypeSettings settings = default(SyncTypeSettings))
Parameters
Type Name Description
System.Collections.Generic.List<T> collection
System.Collections.Generic.IEqualityComparer<T> comparer
SyncTypeSettings settings

Fields

Collection

Collection of objects.

Declaration
public List<T> Collection
Field Value
Type Description
System.Collections.Generic.List<T>

Properties

Count

Number of objects in the collection.

Declaration
public int Count { get; }
Property Value
Type Description
System.Int32

Item[Int32]

Gets or sets value at an index.

Declaration
public T this[int i] { get; set; }
Parameters
Type Name Description
System.Int32 i
Property Value
Type Description
T

Methods

Add(T)

Adds value.

Declaration
public void Add(T item)
Parameters
Type Name Description
T item

AddRange(IEnumerable<T>)

Adds a range of values.

Declaration
public void AddRange(IEnumerable<T> range)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<T> range

Clear()

Clears all values.

Declaration
public void Clear()

Contains(T)

Returns if value exist.

Declaration
public bool Contains(T item)
Parameters
Type Name Description
T item
Returns
Type Description
System.Boolean

CopyTo(T[], Int32)

Copies values to an array.

Declaration
public void CopyTo(T[] array, int index)
Parameters
Type Name Description
T[] array
System.Int32 index

Dirty(T)

Looks up obj in Collection and if found marks it's index as dirty. While using this operation previous value will be the same as next. This operation can be very expensive, and may fail if your value cannot be compared.

Declaration
public void Dirty(T obj)
Parameters
Type Name Description
T obj

Object to lookup.

Dirty(Int32)

Marks an index as dirty. While using this operation previous value will be the same as next.

Declaration
public void Dirty(int index)
Parameters
Type Name Description
System.Int32 index

DirtyAll()

Dirties the entire collection forcing a full send. This will not invoke the callback on server.

Declaration
public void DirtyAll()

Finalize()

Declaration
protected void Finalize()

Find(Predicate<T>)

Finds value using match.

Declaration
public T Find(Predicate<T> match)
Parameters
Type Name Description
System.Predicate<T> match
Returns
Type Description
T

FindAll(Predicate<T>)

Finds all values using match.

Declaration
public List<T> FindAll(Predicate<T> match)
Parameters
Type Name Description
System.Predicate<T> match
Returns
Type Description
System.Collections.Generic.List<T>

FindIndex(Predicate<T>)

Finds index using match.

Declaration
public int FindIndex(Predicate<T> match)
Parameters
Type Name Description
System.Predicate<T> match
Returns
Type Description
System.Int32

GetCollection(Boolean)

Gets the collection being used within this SyncList.

Declaration
public List<T> GetCollection(bool asServer)
Parameters
Type Name Description
System.Boolean asServer

True if returning the server value, false if client value. The values will only differ when running as host. While asServer is true the most current values on server will be returned, and while false the latest values received by client will be returned.

Returns
Type Description
System.Collections.Generic.List<T>

GetEnumerator()

Returns Enumerator for collection.

Declaration
public IEnumerator GetEnumerator()
Returns
Type Description
System.Collections.IEnumerator

IndexOf(T)

Gets the index of value.

Declaration
public int IndexOf(T item)
Parameters
Type Name Description
T item
Returns
Type Description
System.Int32

Initialized()

Called when the SyncType has been registered, but not yet initialized over the network.

Declaration
protected override void Initialized()
Overrides
FishNet.Object.Synchronizing.Internal.SyncBase.Initialized()

Insert(Int32, T)

Inserts value at index.

Declaration
public void Insert(int index, T item)
Parameters
Type Name Description
System.Int32 index
T item

InsertRange(Int32, IEnumerable<T>)

Inserts a range of values.

Declaration
public void InsertRange(int index, IEnumerable<T> range)
Parameters
Type Name Description
System.Int32 index
System.Collections.Generic.IEnumerable<T> range

OnStartCallback(Boolean)

Called after OnStartXXXX has occurred.

Declaration
protected override void OnStartCallback(bool asServer)
Parameters
Type Name Description
System.Boolean asServer

True if OnStartServer was called, false if OnStartClient.

Overrides
FishNet.Object.Synchronizing.Internal.SyncBase.OnStartCallback(System.Boolean)

Remove(T)

Removes a value.

Declaration
public bool Remove(T item)
Parameters
Type Name Description
T item
Returns
Type Description
System.Boolean

RemoveAll(Predicate<T>)

Removes all values within the collection.

Declaration
public int RemoveAll(Predicate<T> match)
Parameters
Type Name Description
System.Predicate<T> match
Returns
Type Description
System.Int32

RemoveAt(Int32)

Removes value at index.

Declaration
public void RemoveAt(int index)
Parameters
Type Name Description
System.Int32 index

ResetState(Boolean)

Resets to initialized values.

Declaration
protected override void ResetState(bool asServer)
Parameters
Type Name Description
System.Boolean asServer
Overrides
FishNet.Object.Synchronizing.Internal.SyncBase.ResetState(System.Boolean)

Set(Int32, T, Boolean)

Sets value at index.

Declaration
public void Set(int index, T value, bool force = true)
Parameters
Type Name Description
System.Int32 index
T value
System.Boolean force

WriteDelta(PooledWriter, Boolean)

Writes all changed values.

Declaration
protected override void WriteDelta(PooledWriter writer, bool resetSyncTick = true)
Parameters
Type Name Description
PooledWriter writer
System.Boolean resetSyncTick

True to set the next time data may sync.

Overrides
FishNet.Object.Synchronizing.Internal.SyncBase.WriteDelta(FishNet.Serializing.PooledWriter, System.Boolean)

WriteFull(PooledWriter)

Writes all values if not initial values.

Declaration
protected override void WriteFull(PooledWriter writer)
Parameters
Type Name Description
PooledWriter writer
Overrides
FishNet.Object.Synchronizing.Internal.SyncBase.WriteFull(FishNet.Serializing.PooledWriter)

Events

OnChange

Called when the SyncList changes.

Declaration
public event SyncList<T>.SyncListChanged OnChange
Event Type
Type Description
FishNet.Object.Synchronizing.SyncList.SyncListChanged<>

Implements

System.Collections.Generic.IList<T>
System.Collections.Generic.ICollection<T>
System.Collections.Generic.IReadOnlyList<T>
System.Collections.Generic.IReadOnlyCollection<T>
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable

Extension Methods

Arrays.ToString<T>(IEnumerable<T>, String)
In This Article
Back to top Generated by DocFX