コード例 #1
0
ファイル: Networking.cs プロジェクト: spacebit/killer7dfps
        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);
        }
コード例 #2
0
ファイル: Networking.cs プロジェクト: spacebit/killer7dfps
        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);
                }
            }
        }
コード例 #3
0
ファイル: Networking.cs プロジェクト: spacebit/killer7dfps
 public NetworkUser(int newUserID, string newUserName)
 {
     userID   = newUserID;
     userName = newUserName;
     userData = new NetworkObject();
 }
コード例 #4
0
ファイル: Networking.cs プロジェクト: spacebit/killer7dfps
 public NetworkMessage(string newMessageID)
 {
     messageID  = newMessageID;
     parameters = new NetworkObject();
 }