Example #1
0
        public StoryTaskUpdate(StoryDataUpdate dataUpdate) : base()
        {
            //     pointID = dataUpdate.pointID;

            updatedIntNames  = dataUpdate.updatedIntNames;
            updatedIntValues = dataUpdate.updatedIntValues;

            updatedFloatNames  = dataUpdate.updatedFloatNames;
            updatedFloatValues = dataUpdate.updatedFloatValues;

            updatedQuaternionNames  = dataUpdate.updatedQuaternionNames;
            updatedQuaternionValues = dataUpdate.updatedQuaternionValues;

            updatedVector3Names  = dataUpdate.updatedVector3Names;
            updatedVector3Values = dataUpdate.updatedVector3Values;

            updatedStringNames  = dataUpdate.updatedStringNames;
            updatedStringValues = dataUpdate.updatedStringValues;

            updatedUshortNames  = dataUpdate.updatedUshortNames;
            updatedUshortValues = dataUpdate.updatedUshortValues;

            updatedByteNames  = dataUpdate.updatedByteNames;
            updatedByteValues = dataUpdate.updatedByteValues;

            updatedVector3ArrayNames  = dataUpdate.updatedVector3ArrayNames;
            updatedVector3ArrayValues = dataUpdate.updatedVector3ArrayValues;

            updatedBoolArrayNames  = dataUpdate.updatedBoolArrayNames;
            updatedBoolArrayValues = dataUpdate.updatedBoolArrayValues;

            updatedStringArrayNames  = dataUpdate.updatedStringArrayNames;
            updatedStringArrayValues = dataUpdate.updatedStringArrayValues;

            debug = dataUpdate.debug;
        }
Example #2
0
        public void ApplyDataUpdate(StoryDataUpdate update, string changeMask = "")
        {
            for (int i = 0; i < update.updatedIntNames.Count; i++)
            {
                taskIntValues[update.updatedIntNames[i]]        = update.updatedIntValues[i];
                taskValuesChangeMask[update.updatedIntNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedFloatNames.Count; i++)
            {
                taskFloatValues[update.updatedFloatNames[i]]      = update.updatedFloatValues[i];
                taskValuesChangeMask[update.updatedFloatNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedQuaternionNames.Count; i++)
            {
                taskQuaternionValues[update.updatedQuaternionNames[i]] = update.updatedQuaternionValues[i];
                taskValuesChangeMask[update.updatedQuaternionNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedVector3Names.Count; i++)
            {
                taskVector3Values[update.updatedVector3Names[i]]    = update.updatedVector3Values[i];
                taskValuesChangeMask[update.updatedVector3Names[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedStringNames.Count; i++)
            {
                taskStringValues[update.updatedStringNames[i]]     = update.updatedStringValues[i];
                taskValuesChangeMask[update.updatedStringNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedUshortNames.Count; i++)
            {
                taskUshortValues[update.updatedUshortNames[i]]     = update.updatedUshortValues[i];
                taskValuesChangeMask[update.updatedUshortNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedByteNames.Count; i++)
            {
                taskByteValues[update.updatedByteNames[i]]       = update.updatedByteValues[i];
                taskValuesChangeMask[update.updatedByteNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedVector3ArrayNames.Count; i++)
            {
                taskVector3ArrayValues[update.updatedVector3ArrayNames[i]] = update.updatedVector3ArrayValues[i];
                taskValuesChangeMask[update.updatedVector3ArrayNames[i]]   = changeMask;
            }

            for (int i = 0; i < update.updatedBoolArrayNames.Count; i++)
            {
                taskBoolArrayValues[update.updatedBoolArrayNames[i]]  = update.updatedBoolArrayValues[i];
                taskValuesChangeMask[update.updatedBoolArrayNames[i]] = changeMask;
            }

            for (int i = 0; i < update.updatedStringArrayNames.Count; i++)
            {
                taskStringArrayValues[update.updatedStringArrayNames[i]] = update.updatedStringArrayValues[i];
                taskValuesChangeMask[update.updatedStringArrayNames[i]]  = changeMask;
            }
        }
Example #3
0
        public StoryDataUpdate GetDataUpdate()
        {
            // Bundled approach.

            StoryDataUpdate msg = new StoryDataUpdate();

            //    msg.pointID = PointID;

            string[] intNames = taskIntValues.Keys.ToArray();

            foreach (string intName in intNames)
            {
                if (taskValuesChangeMask[intName] != "" || allModified)
                {
                    msg.updatedIntNames.Add(intName);

                    taskValuesChangeMask[intName] = "";

                    int intValue;

                    if (taskIntValues.TryGetValue(intName, out intValue))
                    {
                        msg.updatedIntValues.Add(intValue);
                    }
                }
            }

            string[] floatNames = taskFloatValues.Keys.ToArray();

            foreach (string floatName in floatNames)
            {
                if (taskValuesChangeMask[floatName] != "" || allModified)
                {
                    msg.updatedFloatNames.Add(floatName);

                    taskValuesChangeMask[floatName] = "";

                    float floatValue;

                    if (taskFloatValues.TryGetValue(floatName, out floatValue))
                    {
                        msg.updatedFloatValues.Add(floatValue);
                    }
                }
            }

            string[] quaternionNames = taskQuaternionValues.Keys.ToArray();

            foreach (string quaternionName in quaternionNames)
            {
                if (taskValuesChangeMask[quaternionName] != "" || allModified)
                {
                    msg.updatedQuaternionNames.Add(quaternionName);

                    taskValuesChangeMask[quaternionName] = "";

                    Quaternion quaternionValue;

                    if (taskQuaternionValues.TryGetValue(quaternionName, out quaternionValue))
                    {
                        msg.updatedQuaternionValues.Add(quaternionValue);
                    }
                }
            }

            string[] vector3Names = taskVector3Values.Keys.ToArray();

            foreach (string vector3Name in vector3Names)
            {
                if (taskValuesChangeMask[vector3Name] != "" || allModified)
                {
                    msg.updatedVector3Names.Add(vector3Name);

                    taskValuesChangeMask[vector3Name] = "";

                    Vector3 vector3Value;

                    if (taskVector3Values.TryGetValue(vector3Name, out vector3Value))
                    {
                        msg.updatedVector3Values.Add(vector3Value);
                    }
                }
            }

            string[] stringNames = taskStringValues.Keys.ToArray();

            foreach (string stringName in stringNames)
            {
                if (taskValuesChangeMask[stringName] != "" || allModified)
                {
                    msg.updatedStringNames.Add(stringName);

                    taskValuesChangeMask[stringName] = "";

                    string stringValue;

                    if (taskStringValues.TryGetValue(stringName, out stringValue))
                    {
                        msg.updatedStringValues.Add(stringValue);
                    }
                }
            }

            string[] ushortNames = taskUshortValues.Keys.ToArray();

            foreach (string ushortName in ushortNames)
            {
                if (taskValuesChangeMask[ushortName] != "" || allModified)
                {
                    msg.updatedUshortNames.Add(ushortName);

                    taskValuesChangeMask[ushortName] = "";

                    ushort[] ushortValue;

                    if (taskUshortValues.TryGetValue(ushortName, out ushortValue))
                    {
                        msg.updatedUshortValues.Add(ushortValue);
                    }
                }
            }

            string[] byteNames = taskByteValues.Keys.ToArray();

            foreach (string byteName in byteNames)
            {
                if (taskValuesChangeMask[byteName] != "" || allModified)
                {
                    msg.updatedByteNames.Add(byteName);

                    taskValuesChangeMask[byteName] = "";

                    byte[] byteValue;

                    if (taskByteValues.TryGetValue(byteName, out byteValue))
                    {
                        msg.updatedByteValues.Add(byteValue);
                    }
                }
            }

            string[] vector3ArrayNames = taskVector3ArrayValues.Keys.ToArray();

            foreach (string vector3ArrayName in vector3ArrayNames)
            {
                if (taskValuesChangeMask[vector3ArrayName] != "" || allModified)
                {
                    msg.updatedVector3ArrayNames.Add(vector3ArrayName);

                    taskValuesChangeMask[vector3ArrayName] = "";

                    Vector3[] vector3ArrayValue;

                    if (taskVector3ArrayValues.TryGetValue(vector3ArrayName, out vector3ArrayValue))
                    {
                        msg.updatedVector3ArrayValues.Add(vector3ArrayValue);
                    }
                }
            }

            string[] boolArrayNames = taskBoolArrayValues.Keys.ToArray();

            foreach (string boolArrayName in boolArrayNames)
            {
                if (taskValuesChangeMask[boolArrayName] != "" || allModified)
                {
                    msg.updatedBoolArrayNames.Add(boolArrayName);

                    taskValuesChangeMask[boolArrayName] = "";

                    bool[] boolArrayValue;

                    if (taskBoolArrayValues.TryGetValue(boolArrayName, out boolArrayValue))
                    {
                        msg.updatedBoolArrayValues.Add(boolArrayValue);
                    }
                }
            }

            string[] stringArrayNames = taskStringArrayValues.Keys.ToArray();

            foreach (string stringArrayName in stringArrayNames)
            {
                if (taskValuesChangeMask[stringArrayName] != "" || allModified)
                {
                    msg.updatedStringArrayNames.Add(stringArrayName);

                    taskValuesChangeMask[stringArrayName] = "";

                    string[] stringArrayValue;

                    if (taskStringArrayValues.TryGetValue(stringArrayName, out stringArrayValue))
                    {
                        msg.updatedStringArrayValues.Add(stringArrayValue);
                    }
                }
            }

            allModified = false;

            return(msg);
        }
Example #4
0
        public StoryDataUpdate GetDataUpdateFor(string target)
        {
            // Get changes for a target, so any changes NOT made by said target.

            StoryDataUpdate msg = new StoryDataUpdate();

            string[] intNames = taskIntValues.Keys.ToArray();

            foreach (string intName in intNames)
            {
                // If mask isn't void and isn't the target, then it is changed but not by the target, implying it should be told about it.

                if (taskValuesChangeMask[intName] != "" && taskValuesChangeMask[intName] != target)
                {
                    msg.updatedIntNames.Add(intName);

                    taskValuesChangeMask[intName] = "";

                    int intValue;

                    if (taskIntValues.TryGetValue(intName, out intValue))
                    {
                        msg.updatedIntValues.Add(intValue);
                    }
                }
            }

            string[] floatNames = taskFloatValues.Keys.ToArray();

            foreach (string floatName in floatNames)
            {
                if (taskValuesChangeMask[floatName] != target && taskValuesChangeMask[floatName] != target)
                {
                    msg.updatedFloatNames.Add(floatName);

                    taskValuesChangeMask[floatName] = "";

                    float floatValue;

                    if (taskFloatValues.TryGetValue(floatName, out floatValue))
                    {
                        msg.updatedFloatValues.Add(floatValue);
                    }
                }
            }

            string[] quaternionNames = taskQuaternionValues.Keys.ToArray();

            foreach (string quaternionName in quaternionNames)
            {
                if (taskValuesChangeMask[quaternionName] != "" && taskValuesChangeMask[quaternionName] != target)
                {
                    msg.updatedQuaternionNames.Add(quaternionName);

                    taskValuesChangeMask[quaternionName] = "";

                    Quaternion quaternionValue;

                    if (taskQuaternionValues.TryGetValue(quaternionName, out quaternionValue))
                    {
                        msg.updatedQuaternionValues.Add(quaternionValue);
                    }
                }
            }

            string[] vector3Names = taskVector3Values.Keys.ToArray();

            foreach (string vector3Name in vector3Names)
            {
                if (taskValuesChangeMask[vector3Name] != "" && taskValuesChangeMask[vector3Name] != target)
                {
                    msg.updatedVector3Names.Add(vector3Name);

                    taskValuesChangeMask[vector3Name] = "";

                    Vector3 vector3Value;

                    if (taskVector3Values.TryGetValue(vector3Name, out vector3Value))
                    {
                        msg.updatedVector3Values.Add(vector3Value);
                    }
                }
            }

            string[] stringNames = taskStringValues.Keys.ToArray();

            foreach (string stringName in stringNames)
            {
                if (taskValuesChangeMask[stringName] != "" && taskValuesChangeMask[stringName] != target)
                {
                    msg.updatedStringNames.Add(stringName);

                    taskValuesChangeMask[stringName] = "";

                    string stringValue;

                    if (taskStringValues.TryGetValue(stringName, out stringValue))
                    {
                        msg.updatedStringValues.Add(stringValue);
                    }
                }
            }

            string[] ushortNames = taskUshortValues.Keys.ToArray();

            foreach (string ushortName in ushortNames)
            {
                if (taskValuesChangeMask[ushortName] != "" && taskValuesChangeMask[ushortName] != target)
                {
                    msg.updatedUshortNames.Add(ushortName);

                    taskValuesChangeMask[ushortName] = "";

                    ushort[] ushortValue;

                    if (taskUshortValues.TryGetValue(ushortName, out ushortValue))
                    {
                        msg.updatedUshortValues.Add(ushortValue);
                    }
                }
            }

            string[] byteNames = taskByteValues.Keys.ToArray();

            foreach (string byteName in byteNames)
            {
                if (taskValuesChangeMask[byteName] != "" && taskValuesChangeMask[byteName] != target)
                {
                    msg.updatedByteNames.Add(byteName);

                    taskValuesChangeMask[byteName] = "";

                    byte[] byteValue;

                    if (taskByteValues.TryGetValue(byteName, out byteValue))
                    {
                        msg.updatedByteValues.Add(byteValue);
                    }
                }
            }

            string[] vector3ArrayNames = taskVector3ArrayValues.Keys.ToArray();

            foreach (string vector3ArrayName in vector3ArrayNames)
            {
                if (taskValuesChangeMask[vector3ArrayName] != "" && taskValuesChangeMask[vector3ArrayName] != "")
                {
                    msg.updatedVector3ArrayNames.Add(vector3ArrayName);

                    taskValuesChangeMask[vector3ArrayName] = "";

                    Vector3[] vector3ArrayValue;

                    if (taskVector3ArrayValues.TryGetValue(vector3ArrayName, out vector3ArrayValue))
                    {
                        msg.updatedVector3ArrayValues.Add(vector3ArrayValue);
                    }
                }
            }

            string[] boolArrayNames = taskBoolArrayValues.Keys.ToArray();

            foreach (string boolArrayName in boolArrayNames)
            {
                if (taskValuesChangeMask[boolArrayName] != "" && taskValuesChangeMask[boolArrayName] != target)
                {
                    msg.updatedBoolArrayNames.Add(boolArrayName);

                    taskValuesChangeMask[boolArrayName] = "";

                    bool[] boolArrayValue;

                    if (taskBoolArrayValues.TryGetValue(boolArrayName, out boolArrayValue))
                    {
                        msg.updatedBoolArrayValues.Add(boolArrayValue);
                    }
                }
            }

            string[] stringArrayNames = taskStringArrayValues.Keys.ToArray();

            foreach (string stringArrayName in stringArrayNames)
            {
                if (taskValuesChangeMask[stringArrayName] != "" && taskValuesChangeMask[stringArrayName] != target)
                {
                    msg.updatedStringArrayNames.Add(stringArrayName);

                    taskValuesChangeMask[stringArrayName] = "";

                    string[] stringArrayValue;

                    if (taskStringArrayValues.TryGetValue(stringArrayName, out stringArrayValue))
                    {
                        msg.updatedStringArrayValues.Add(stringArrayValue);
                    }
                }
            }

            //     allModified = false;

            return(msg);
        }