Photon Fusion 1.1.13

Public Member Functions | Properties | List of all members
NetworkDictionary< K, V > Struct Template Reference

Fusion type for networking Dictionaries. Maximum capacity is fixed, and is set with the CapacityAttribute.

More...

Inherits IEnumerable< KeyValuePair< K, V >>.

Public Member Functions

bool Add (K key, V value)
 Adds a new key value pair to the Dictionary. If the key already exists, will return false. More...
 
void Clear ()
 Remove all entries from the Dictionary, and clear backing memory. More...
 
bool ContainsKey (K key)
 Returns true if the Dictionary contains an entry for the given key. More...
 
bool ContainsValue (V value, IEqualityComparer< V > equalityComparer=null)
 Returns true if the Dictionary contains an entry value which compares as equal to given value. More...
 
Get (K key)
 Returns the value for the given key. Will throw an error if the key is not found. More...
 
bool Remove (K key)
 Remove entry from Dictionary. More...
 
bool Remove (K key, out V value)
 Removes entry from Dictionary. If successful (key existed), returns true and the value of removed item. More...
 
Set (K key, V value)
 Sets the value for the given key. Will add a new key if the key does not already exist. More...
 
bool TryGet (K key, out V value)
 Attempts to get the value for a given key. If found, returns true. More...
 

Properties

int Capacity [get]
 The maximum number of entries this dictionary may contain. More...
 
int Count [get]
 Current number of key/value entries in the Dictionary. More...
 
this[K key] [get, set]
 Key indexer. Gets/Sets value for specified key. More...
 

Detailed Description

Fusion type for networking Dictionaries. Maximum capacity is fixed, and is set with the CapacityAttribute.

Typical Usage: [Networked, Capacity(10)]
NetworkDictionary<int, float> syncedDict => default;

Usage for modifying data: var dict = syncedDict; dict.Add(5, 123); dict[5] = 456; dict.Remove(5);

Template Parameters
KKey can be a primitive, or an INetworkStruct.
VValue can be a primitive, or an INetworkStruct.

Member Function Documentation

◆ Add()

bool Add ( key,
value 
)

Adds a new key value pair to the Dictionary. If the key already exists, will return false.

◆ Clear()

void Clear ( )

Remove all entries from the Dictionary, and clear backing memory.

◆ ContainsKey()

bool ContainsKey ( key)

Returns true if the Dictionary contains an entry for the given key.

◆ ContainsValue()

bool ContainsValue ( value,
IEqualityComparer< V >  equalityComparer = null 
)

Returns true if the Dictionary contains an entry value which compares as equal to given value.

Parameters
valueThe value to compare against.
equalityComparerSpecify custom IEqualityComparer to be used for compare.

◆ Get()

V Get ( key)

Returns the value for the given key. Will throw an error if the key is not found.

◆ Remove() [1/2]

bool Remove ( key)

Remove entry from Dictionary.

Parameters
key
Returns
Returns true if key was found.

◆ Remove() [2/2]

bool Remove ( key,
out V  value 
)

Removes entry from Dictionary. If successful (key existed), returns true and the value of removed item.

Parameters
keyThe key to remove.
valueReturns value of removed item. Returns default value if key did not exist.
Returns
Returns true if key was found.

◆ Set()

V Set ( key,
value 
)

Sets the value for the given key. Will add a new key if the key does not already exist.

◆ TryGet()

bool TryGet ( key,
out V  value 
)

Attempts to get the value for a given key. If found, returns true.

Parameters
keyThe key to remove.
valueReturns value of removed item. Returns default value if key did not exist.
Returns
Returns true if key was found.

Property Documentation

◆ Capacity

int Capacity
get

The maximum number of entries this dictionary may contain.

◆ Count

int Count
get

Current number of key/value entries in the Dictionary.

◆ this[K key]

V this[K key]
getset

Key indexer. Gets/Sets value for specified key.