public void ReceiveUpdate(NetworkObject newData) { List <string> keys = new List <string>(newData.bools.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.bools.ContainsKey(key)) { userData.bools[key] = newData.bools[key]; } else { userData.bools.Add(key, newData.bools[key]); } } keys = new List <string>(newData.ints.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.ints.ContainsKey(key)) { userData.ints[key] = newData.ints[key]; } else { userData.ints.Add(key, newData.ints[key]); } } keys = new List <string>(newData.floats.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.floats.ContainsKey(key)) { userData.floats[key] = newData.floats[key]; } else { userData.floats.Add(key, newData.floats[key]); } } keys = new List <string>(newData.strings.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.strings.ContainsKey(key)) { userData.strings[key] = newData.strings[key]; } else { userData.strings.Add(key, newData.strings[key]); } } keys = new List <string>(newData.networkObjects.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.networkObjects.ContainsKey(key)) { userData.networkObjects[key] = newData.networkObjects[key]; } else { userData.networkObjects.Add(key, newData.networkObjects[key]); } } keys = new List <string>(newData.boolArrays.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.boolArrays.ContainsKey(key)) { userData.boolArrays[key] = newData.boolArrays[key]; } else { userData.boolArrays.Add(key, newData.boolArrays[key]); } } keys = new List <string>(newData.intArrays.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.intArrays.ContainsKey(key)) { userData.intArrays[key] = newData.intArrays[key]; } else { userData.intArrays.Add(key, newData.intArrays[key]); } } keys = new List <string>(newData.floatArrays.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.floatArrays.ContainsKey(key)) { userData.floatArrays[key] = newData.floatArrays[key]; } else { userData.floatArrays.Add(key, newData.floatArrays[key]); } } keys = new List <string>(newData.stringArrays.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.stringArrays.ContainsKey(key)) { userData.stringArrays[key] = newData.stringArrays[key]; } else { userData.stringArrays.Add(key, newData.stringArrays[key]); } } keys = new List <string>(newData.networkObjectArrays.Keys); for (int k = 0; k < keys.Count; k++) { string key = keys[k]; if (userData.networkObjectArrays.ContainsKey(key)) { userData.networkObjectArrays[key] = newData.networkObjectArrays[key]; } else { userData.networkObjectArrays.Add(key, newData.networkObjectArrays[key]); } } receiveUpdateEvent.Invoke(newData); }
public void CombineWithNetworkObject(NetworkObject objectToAdd, bool overrideValues = true) { foreach (KeyValuePair <string, bool> keyValuePair in objectToAdd.bools) { if (bools.ContainsKey(keyValuePair.Key)) { if (overrideValues) { bools[keyValuePair.Key] = keyValuePair.Value; } } else { bools.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, int> keyValuePair in objectToAdd.ints) { if (ints.ContainsKey(keyValuePair.Key)) { if (overrideValues) { ints[keyValuePair.Key] = keyValuePair.Value; } } else { ints.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, float> keyValuePair in objectToAdd.floats) { if (floats.ContainsKey(keyValuePair.Key)) { if (overrideValues) { floats[keyValuePair.Key] = keyValuePair.Value; } } else { floats.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, string> keyValuePair in objectToAdd.strings) { if (strings.ContainsKey(keyValuePair.Key)) { if (overrideValues) { strings[keyValuePair.Key] = keyValuePair.Value; } } else { strings.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, NetworkObject> keyValuePair in objectToAdd.networkObjects) { if (networkObjects.ContainsKey(keyValuePair.Key)) { if (overrideValues) { networkObjects[keyValuePair.Key] = keyValuePair.Value; } } else { networkObjects.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, bool[]> keyValuePair in objectToAdd.boolArrays) { if (boolArrays.ContainsKey(keyValuePair.Key)) { if (overrideValues) { boolArrays[keyValuePair.Key] = keyValuePair.Value; } } else { boolArrays.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, int[]> keyValuePair in objectToAdd.intArrays) { if (intArrays.ContainsKey(keyValuePair.Key)) { if (overrideValues) { intArrays[keyValuePair.Key] = keyValuePair.Value; } } else { intArrays.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, float[]> keyValuePair in objectToAdd.floatArrays) { if (floatArrays.ContainsKey(keyValuePair.Key)) { if (overrideValues) { floatArrays[keyValuePair.Key] = keyValuePair.Value; } } else { floatArrays.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, string[]> keyValuePair in objectToAdd.stringArrays) { if (stringArrays.ContainsKey(keyValuePair.Key)) { if (overrideValues) { stringArrays[keyValuePair.Key] = keyValuePair.Value; } } else { stringArrays.Add(keyValuePair.Key, keyValuePair.Value); } } foreach (KeyValuePair <string, NetworkObject[]> keyValuePair in objectToAdd.networkObjectArrays) { if (networkObjectArrays.ContainsKey(keyValuePair.Key)) { if (overrideValues) { networkObjectArrays[keyValuePair.Key] = keyValuePair.Value; } } else { networkObjectArrays.Add(keyValuePair.Key, keyValuePair.Value); } } }
public NetworkUser(int newUserID, string newUserName) { userID = newUserID; userName = newUserName; userData = new NetworkObject(); }
public NetworkMessage(string newMessageID) { messageID = newMessageID; parameters = new NetworkObject(); }