public void SetVariableValue(string name, object value) { SharedVariable variable = this.GetVariable(name); if (variable != null) { variable.SetValue(value); variable.ValueChanged(); } }
public void SetVariableValue(string name, object value) { SharedVariable variable = this.GetVariable(name); if (variable != null) { if (value is SharedVariable) { SharedVariable sharedVariable = value as SharedVariable; if (!string.IsNullOrEmpty(sharedVariable.propertyMapping)) { variable.propertyMapping = sharedVariable.propertyMapping; variable.propertyMappingOwner = sharedVariable.propertyMappingOwner; variable.InitializePropertyMapping(this.m_BehaviorSource); } else { variable.SetValue(sharedVariable.GetValue()); } } else { variable.SetValue(value); } variable.ValueChanged(); } else if (value is SharedVariable) { SharedVariable sharedVariable2 = value as SharedVariable; SharedVariable sharedVariable3 = TaskUtility.CreateInstance(sharedVariable2.GetType()) as SharedVariable; sharedVariable3.name = sharedVariable2.name; sharedVariable3.isShared = sharedVariable2.isShared; sharedVariable3.isGlobal = sharedVariable2.isGlobal; if (!string.IsNullOrEmpty(sharedVariable2.propertyMapping)) { sharedVariable3.propertyMapping = sharedVariable2.propertyMapping; sharedVariable3.propertyMappingOwner = sharedVariable2.propertyMappingOwner; sharedVariable3.InitializePropertyMapping(this.m_BehaviorSource); } else { sharedVariable3.SetValue(sharedVariable2.GetValue()); } this.m_BehaviorSource.SetVariable(name, sharedVariable3); } else { Debug.LogError("Error: No variable exists with name " + name); } }