public static object GetUpdateVariableData(UpdateVariableData updateVariableData) { switch (updateVariableData.variabeleDataType) { case VariableDataType.Bool: return(updateVariableData.variableDataBool); break; case VariableDataType.Float: return(updateVariableData.variableDataFloat); break; case VariableDataType.Long: return(updateVariableData.variableDataLong); break; case VariableDataType.String: return(updateVariableData.variableDataString); break; case VariableDataType.Vector2: return(updateVariableData.variableDataVector2); break; } return(null); }
public static void SetUpdateVariableData(object objToChange, UpdateVariableData updateVariableData) { if (updateVariableData.variableName == "Health") { int k = 0; } var propertyInfo = objToChange.GetType().GetProperty(updateVariableData.variableName); if (propertyInfo != null) { var methods = propertyInfo.GetAccessors(true); foreach (var c in methods) { if (c.ReturnType != typeof(void)) { continue; } c.Invoke(objToChange, new object[] { GetUpdateVariableData(updateVariableData) }); return; } } var fieldInfo = objToChange.GetType().GetField(updateVariableData.variableName); if (fieldInfo != null) { fieldInfo.SetValue(objToChange, GetUpdateVariableData(updateVariableData)); } }
public void OnVariableUpdate(UpdateVariableData updateVariableData) { //Debug.Log($"Update Variable Data!: {updateVariableData.variableName} : {UpdateVariableHander.GetUpdateVariableData(updateVariableData)}" ); SendMessageToObject(updateVariableData, updateVariableData.objectID, GetFunctionName(updateVariableData)); }
public void VariableUpdate(UpdateVariableData variableData) { UpdateVariableHander.SetUpdateVariableData(this, variableData); }
public void VariableUpdate(UpdateVariableData updateVariableData) { //Got variable Update! UpdateVariableHander.SetUpdateVariableData(this, updateVariableData); }
public void OnVariableUpdate(UpdateVariableData updateVariableData) { }