Exemplo n.º 1
0
        public bool Save(string fileName)
        {
            try
            {
                XMLRulesDoc  document = new XMLRulesDoc();
                XMLRulesType root     = new XMLRulesType();

                RuleBaseType ruleBase = new RuleBaseType();

                m_State.Save(ref ruleBase);
                m_RuleBase.Save(ref ruleBase);
                root.AddRuleBase(ruleBase);

                document.SetRootElementName("", "XMLRules");
                document.SetSchemaLocation("XMLRules.xsd");                 // optional
                document.Save(fileName, root);
            }
            catch (Exception e)
            {
                Debug.Log("Error in Save " + e.ToString());
                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        public RuleBase(RuleBaseType ruleBase)
        {
            int ruleCount = ruleBase.GetRulesCount();

            for (int i = 0; i < ruleCount; i++)
            {
                Rule thisRule = new Rule(ruleBase.GetRulesAt(i));

                AddRule(thisRule);
            }
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        public bool Load(RuleBaseType ruleBase)
        {
            Clear();

            int variableCount = ruleBase.GetVariablesCount();

            for (int i = 0; i < variableCount; i++)
            {
                Variable variable = new Variable(gameObject, ruleBase.GetVariablesAt(i));
                AddVariable(variable);
            }

            return(true);
        }
Exemplo n.º 5
0
        public bool Load(RuleBaseType ruleBase)
        {
            m_Rules.Clear();

            int ruleCount = ruleBase.GetRulesCount();

            for (int i = 0; i < ruleCount; i++)
            {
                Rule thisRule = new Rule(ruleBase.GetRulesAt(i));

                AddRule(thisRule);
            }

            return(Validate());
        }
Exemplo n.º 6
0
        public bool Save(ref RuleBaseType ruleBase)
        {
            try
            {
                int ruleCount = m_Rules.Count();

                for (int i = 0; i < ruleCount; i++)
                {
                    ruleBase.AddRules(m_Rules[i].m_Rule);
                }
            }
            catch (Exception e)
            {
                Debug.Log("Error in Save RuleBase " + e.ToString());
                return(false);
            }

            return(true);
        }
Exemplo n.º 7
0
 private static bool DoesSLARuleContainXpath(RuleBaseType rule)
 {
     if (rule == null)
         return false;
     if (rule is XPathExpression)
     {
         return true;
     }
     if (rule is AndOrNot)
     {
         AndOrNot t1 = (AndOrNot)rule;
         return DoesSLARuleContainXpath(t1.LHS) || DoesSLARuleContainXpath(t1.RHS);
     }
     return false;
 }