public static void triggerChangeDelegate(SimCapiMathExpression simCapiMathExpression, ChangedBy changedBy) { if (simCapiMathExpression._mathExpressionChangedDelegate == null) { return; } simCapiMathExpression._mathExpressionChangedDelegate(simCapiMathExpression._value, changedBy); }
void updateValueInModel(SimCapiValue simCapiValue) { if (_valueMap.ContainsKey(simCapiValue.key) == false) { SimCapiConsole.log("Key not found in model"); return; } SimCapiExposableValue exposableValue = _valueMap[simCapiValue.key]; if (exposableValue == null) { SimCapiConsole.log("Error no linked exposed value, This should not occur"); return; } if (exposableValue.GetType() == typeof(SimCapiNumber)) { SimCapiNumber number = (SimCapiNumber)exposableValue; float?value = simCapiValue.value.getNumber(); if (value == null) { SimCapiExposableValue.invokeInvalidValueRecivedDelegate(exposableValue); } else { SimCapiNumber.setInternalValue(number, value.Value); SimCapiNumber.triggerChangeDelegate(number, ChangedBy.AELP); } } else if (exposableValue.GetType() == typeof(SimCapiString)) { SimCapiString exposableString = (SimCapiString)exposableValue; SimCapiString.setInternalValue(exposableString, simCapiValue.value.ToString()); SimCapiString.triggerChangeDelegate(exposableString, ChangedBy.AELP); } else if (exposableValue.GetType() == typeof(SimCapiStringArray)) { SimCapiStringArray stringArray = (SimCapiStringArray)exposableValue; string[] sArray = simCapiValue.value.getStringArray(); if (sArray == null) { SimCapiExposableValue.invokeInvalidValueRecivedDelegate(exposableValue); } else { stringArray.setWithStringArray(sArray); SimCapiStringArray.triggerChangeDelegate(stringArray, ChangedBy.AELP); } } else if (exposableValue.GetType() == typeof(SimCapiBoolean)) { SimCapiBoolean boolean = (SimCapiBoolean)exposableValue; bool?value = simCapiValue.value.getBool(); if (value == null) { SimCapiExposableValue.invokeInvalidValueRecivedDelegate(exposableValue); } else { boolean.setValue(value.Value); SimCapiBoolean.triggerChangeDelegate(boolean, ChangedBy.AELP); } } else if (typeof(SimCapiGenericEnum).IsAssignableFrom(exposableValue.GetType())) { SimCapiGenericEnum simCapiGenericEnum = (SimCapiGenericEnum)exposableValue; bool valid = SimCapiGenericEnum.setInternalValue(simCapiGenericEnum, simCapiValue.value.ToString()); if (valid == false) { UnityEngine.Debug.LogError("simCapiValue is not a valid Enum"); return; } else { SimCapiGenericEnum.triggerChangeDelegate(simCapiGenericEnum, ChangedBy.AELP); } } else if (exposableValue.GetType() == typeof(SimCapiMathExpression)) { SimCapiMathExpression mathExpression = (SimCapiMathExpression)exposableValue; SimCapiMathExpression.InternalUseOnly.setInternalValue(mathExpression, simCapiValue.value.ToString()); SimCapiMathExpression.triggerChangeDelegate(mathExpression, ChangedBy.AELP); } else if (exposableValue.GetType() == typeof(SimCapiPointArray)) { SimCapiPointArray pointArray = (SimCapiPointArray)exposableValue; UnityEngine.Vector2[] vector2Array = simCapiValue.value.getPointArray(); if (vector2Array == null) { SimCapiConsole.log("Invalid PointArrayData!"); } else { SimCapiPointArray.setInternalValue(pointArray, vector2Array); SimCapiPointArray.triggerChangeDelegate(pointArray, ChangedBy.AELP); } } else { SimCapiConsole.log("Exposed value not set"); } }
public static void setInternalValue(SimCapiMathExpression simCapiMathExpression, string value) { simCapiMathExpression._value = value; }