Beispiel #1
0
        public bool Save(ref XMLRules.VariableType variable)
        {
            bool result = true;

            variable.AddName(new SchemaString(m_Name));
            variable.AddType2(new SchemaLong((long)m_Type));
            variable.AddValue(GetConstantFromValue(m_Type, m_Value));

            if (m_UpdateScript != null)
            {
                ScriptReference scriptReference;

                if (BaseScript.Save(m_UpdateScript, out scriptReference))
                {
                    variable.AddUpdateScript(scriptReference);
                }
                else
                {
                    Debug.LogError("Error saving update script for variable " + m_Name);
                    result = false;
                }
            }

            return(result);
        }
Beispiel #2
0
        public Variable(GameObject gameObject, XMLRules.VariableType variable)
        {
            m_GameObject = gameObject;
            m_IsDirty    = true;

            Load(variable);
        }
Beispiel #3
0
		public Variable(string name, VariableType type)
		{
			m_Name = name;
			m_IsDirty = false;
			m_Type = type;
            SetVariableType(type);
            m_UpdateScript = null;
            m_UpdateScriptType = null;
		}
        public Value MakeVariable(string name, AiRuleEngine.VariableType type)
        {
            Value newValue = new Value();
            XMLRules.VariableType newVariable = new XMLRules.VariableType();
            newVariable.AddName(new Altova.Types.SchemaString(name));
            newVariable.AddType2(new Altova.Types.SchemaLong((long)type));
            newValue.AddVariable(newVariable);

            return newValue;
        }
Beispiel #5
0
        public Value MakeVariable(string name, AiRuleEngine.VariableType type)
        {
            Value newValue = new Value();

            XMLRules.VariableType newVariable = new XMLRules.VariableType();
            newVariable.AddName(new Altova.Types.SchemaString(name));
            newVariable.AddType2(new Altova.Types.SchemaLong((long)type));
            newValue.AddVariable(newVariable);

            return(newValue);
        }
Beispiel #6
0
        public bool Save(ref RuleBaseType ruleBase)
        {
            foreach (KeyValuePair <string, Variable> pair in m_Variables)
            {
                Variable variable = pair.Value;
                XMLRules.VariableType xmlVariable = new XMLRules.VariableType();
                variable.Save(ref xmlVariable);
                ruleBase.AddVariables(xmlVariable);
            }

            return(true);
        }
Beispiel #7
0
		public bool Save(ref RuleBaseType ruleBase)
		{
			foreach (KeyValuePair<string, Variable> pair in m_Variables) 
			{
				Variable variable = pair.Value;
				XMLRules.VariableType xmlVariable = new XMLRules.VariableType();
				variable.Save(ref xmlVariable);
				ruleBase.AddVariables(xmlVariable);
			}

			return true;
		}
Beispiel #8
0
        public bool Load(XMLRules.VariableType variable)
        {
            m_Name  = (string)variable.GetName().Value;
            m_Type  = (VariableType)variable.GetType2().Value;
            m_Value = GetValueFromConstant((VariableType)variable.GetType2().Value, variable.GetValue());

            if (variable.HasUpdateScript())
            {
                BaseScript updateScript;

                RemoveScript();

                if (BaseScript.Load(variable.GetUpdateScript(), m_GameObject, out updateScript))
                {
                    m_UpdateScriptType = updateScript.GetType();
                    m_UpdateScript     = (BaseSensor)updateScript;
                }
            }

            m_IsDirty = true;

            return(true);
        }
			public UpdateScriptEnumerator(VariableType par) 
			{
				parent = par;
				nIndex = -1;
			}
Beispiel #10
0
 public void ReplaceVariablesAt(VariableType newValue, int index)
 {
     ReplaceDomElementAt("", "Variables", index, newValue);
 }
Beispiel #11
0
 public void AddVariables(VariableType newValue)
 {
     AppendDomElement("", "Variables", newValue);
 }
Beispiel #12
0
 public void InsertVariablesAt(VariableType newValue, int index)
 {
     InsertDomElementAt("", "Variables", index, newValue);
 }
			public ValueEnumerator(VariableType par) 
			{
				parent = par;
				nIndex = -1;
			}
		public void InsertVariableAt(VariableType newValue, int index)
		{
			InsertDomElementAt("", "Variable", index, newValue);
		}
Beispiel #15
0
		static public ConstantType GetConstantFromValue(VariableType type, object value)
		{
            if (value == null)
            {
                Debug.LogError("Error null value in GetConstantFromValue");
                return null;
            }

			ConstantType constantType = new ConstantType();
			
			switch (type) 
			{
			case VariableType.BOOLEAN:
				constantType.AddBoolean(new SchemaBoolean((bool)value));
				break;
				
			case VariableType.FLOAT:
				constantType.AddFloat2(new SchemaDecimal((decimal)(float)value));
				break;
				
			case VariableType.INT:
                constantType.AddInteger(new SchemaLong((long)(int)value));
				break;
				
			case VariableType.STRING:
				constantType.AddString2(new SchemaString((string)value));
                break;
			}

			return constantType;
		}
Beispiel #16
0
		public void SetVariableType(VariableType type)
		{
			m_Type = type;

            switch (m_Type)
            {
                case VariableType.BOOLEAN:
                    m_Value = new bool();
                    break;

                case VariableType.INT:
                    m_Value = new int();
                    break;

                case VariableType.FLOAT:
                    m_Value = new float();
                    break;

                case VariableType.STRING:
			        m_Value = string.Empty;
                    break;
            }
		}
Beispiel #17
0
		static public object GetValueFromConstant(VariableType type, ConstantType constant)
		{
			object result = null; 

			if (constant.HasBoolean())
			{
				bool boolValue = (bool)constant.GetBoolean().Value;
				
				switch(type)
				{
				case VariableType.BOOLEAN:
					result = boolValue;
					break;
					
				case VariableType.INT:
					result = (int)(boolValue ? 1 : 0);
					break;
					
				case VariableType.FLOAT:	
					result = (float)(boolValue ? 1 : 0);
					break;
					
				case VariableType.STRING:
					result = (boolValue ? "true" : "false");
					break;
				}
			}
			else if (constant.HasInteger())
			{
				int intValue = (int)constant.GetInteger().Value;
				
				switch(type)
				{
				case VariableType.BOOLEAN:
					result = (intValue == 1) ? true : false;
					break;
					
				case VariableType.INT:
					result = intValue;
					break;
					
				case VariableType.FLOAT:	
					result = intValue;
					break;
					
				case VariableType.STRING:
					result = intValue.ToString();
					break;
				}
			}
			else if (constant.HasFloat2())
			{
				float floatValue = (float)constant.GetFloat2().Value;
				
				switch(type)
				{
				case VariableType.BOOLEAN:
					result = (floatValue == 1) ? true : false;
					break;
					
				case VariableType.INT:
					result = (int)floatValue;
					break;
					
				case VariableType.FLOAT:	
					result = floatValue;
					break;
					
				case VariableType.STRING:
					result = floatValue.ToString();
					break;
				}
			}
			else if (constant.HasString2())
			{
				string stringValue = constant.GetString2().Value;
				
				switch(type)
				{
				case VariableType.BOOLEAN:
					result = (stringValue == "true") ? true : false;
					break;
					
				case VariableType.STRING:
					result = stringValue;
					break;
					
				case VariableType.INT:
					result = stringValue;
					break;
					
				case VariableType.FLOAT:	
					result = Convert.ToSingle(stringValue);
					break;
				}
			}

			return result;
		}
		public void AddVariable(VariableType newValue)
		{
			AppendDomElement("", "Variable", newValue);
		}
Beispiel #19
0
 public ValueEnumerator(VariableType par)
 {
     parent = par;
     nIndex = -1;
 }
		public void ReplaceVariableAt(VariableType newValue, int index)
		{
			ReplaceDomElementAt("", "Variable", index, newValue);
		}
Beispiel #21
0
 public UpdateScriptEnumerator(VariableType par)
 {
     parent = par;
     nIndex = -1;
 }