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; }
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; } }
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); }
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); }