Exemple #1
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private bool SetTriggerBIEdiText(Trigger trigger, int index, StringBuilder SB)
        {
            SB.Append("class _trigger_" + index.ToString() + "\r\n");
            SB.Append("{\r\n");
            SB.Append("\tobjectType=" + '"' + "trigger" + '"' + ";\r\n");
            SB.Append("\tclass Arguments\r\n");
            SB.Append("\t{\r\n");
            SB.Append(string.Format("\t\tPOSITION={0}[{1}, {2}, {3}]{0};\r\n", '"', trigger.Position[0].ToString().Replace(',', '.'), trigger.Position[1].ToString().Replace(',', '.'), trigger.Position[2].ToString().Replace(',', '.')));
            SB.Append(string.Format("\t\tTYPE={0}GUER G{0};\r\n", '"'));
            if (!ReferenceEquals(trigger.A, null))
            {
                SB.Append(string.Format("\t\tA={0}{1}{0};\r\n", '"', trigger.A));
            }
            if (!ReferenceEquals(trigger.B, null))
            {
                SB.Append(string.Format("\t\tB={0}{1}{0};\r\n", '"', trigger.B));
            }
            if (trigger.Rectangular)
            {
                SB.Append(string.Format("\t\tRECTANGULAR={0}true{0};\r\n", '"'));
            }
            if (!ReferenceEquals(trigger.ActivationBy, null))
            {
                SB.Append(string.Format("\t\tACTIVATION_BY={0}{1}{0};\r\n", '"', trigger.ActivationBy));
            }
            if (!ReferenceEquals(trigger.ActivationType, null))
            {
                SB.Append(string.Format("\t\tACTIVATION_TYPE={0}{1}{0};\r\n", '"', trigger.ActivationType));
            }
            if (trigger.Repeating)
            {
                SB.Append(string.Format("\t\tREPEATING={0}true{0};\r\n", '"'));
            }
            if (!ReferenceEquals(trigger.TimeoutMin, null))
            {
                SB.Append(string.Format("\t\tTIMEOUT_MIN={0}{1}{0};\r\n", '"', trigger.TimeoutMin));
            }
            if (!ReferenceEquals(trigger.TimeoutMid, null))
            {
                SB.Append(string.Format("\t\tTIMEOUT_MID={0}{1}{0};\r\n", '"', trigger.TimeoutMid));
            }
            if (!ReferenceEquals(trigger.TimeoutMax, null))
            {
                SB.Append(string.Format("\t\tTIMEOUT_MAX={0}{1}{0};\r\n", '"', trigger.TimeoutMax));
            }
            if (trigger.Interruptable)
            {
                SB.Append(string.Format("\t\tINTERRUPTABLE={0}true{0};\r\n", '"'));
            }
            if (!ReferenceEquals(trigger.Text, null))
            {
                SB.Append(string.Format("\t\tTEXT={0}{1}{0};\r\n", '"', trigger.Text));
            }
            if (!ReferenceEquals(trigger.Name, null))
            {
                SB.Append(string.Format("\t\tNAME={0}{1}{0};\r\n", '"', trigger.Name));
            }
            if (!ReferenceEquals(trigger.ExpCond, null))
            {
                SB.Append(string.Format("\t\tEXP_COND={0}{1}{0};\r\n", '"', trigger.ExpCond));
            }
            if (!ReferenceEquals(trigger.ExpActiv, null))
            {
                SB.Append(string.Format("\t\tEXP_ACTIV={0}{1}{0};\r\n", '"', trigger.ExpActiv));
            }
            if (!ReferenceEquals(trigger.ExpDesactiv, null))
            {
                SB.Append(string.Format("\t\tEXP_DESACTIV={0}{1}{0};\r\n", '"', trigger.ExpDesactiv));
            }
            if (!trigger.AssignedEffect.Dummy)
            {
                SetEffectBIEdiText(trigger.AssignedEffect, SB);
            }
            SB.Append("\t};\r\n");
            SB.Append("};\r\n");
            return(true);
        }
Exemple #2
0
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        private Trigger GetTrigger(string[] TriggerClassText)
        {
            Trigger CurrentTrigger = new Trigger();

            for (int i = 0; i < TriggerClassText.Length; i++)
            {
                if (TriggerClassText[i].Split('=')[0].Equals("age", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.Age = TriggerClassText[i].Substring(5, TriggerClassText[i].Length - 7);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("position[]", StringComparison.InvariantCultureIgnoreCase))
                {
                    var CurrentPosition = new double[3];
                    TriggerClassText[i]     = TriggerClassText[i].Replace(" ", string.Empty);
                    CurrentPosition[0]      = Convert.ToDouble(TriggerClassText[i].Split(',')[0].Split('{')[1].Replace(".", ","));
                    CurrentPosition[2]      = Convert.ToDouble(TriggerClassText[i].Split(',')[1].Replace(".", ","));
                    CurrentPosition[1]      = Convert.ToDouble(TriggerClassText[i].Split(',')[2].Split('}')[0].Replace(".", ","));
                    CurrentTrigger.Position = CurrentPosition;
                }
                if (TriggerClassText[i].Split('=')[0].Equals("a", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.A = TriggerClassText[i].Split('=')[1].Split(';')[0];
                }
                if (TriggerClassText[i].Split('=')[0].Equals("b", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.B = TriggerClassText[i].Split('=')[1].Split(';')[0];
                }
                if (TriggerClassText[i].Split('=')[0].Equals("rectangular", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.Rectangular = true;
                }
                if (TriggerClassText[i].Split('=')[0].Equals("activationBy", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.ActivationBy = TriggerClassText[i].Substring(14, TriggerClassText[i].Length - 16);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("activationType", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.ActivationType = TriggerClassText[i].Substring(16, TriggerClassText[i].Length - 18);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("repeating", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.Repeating = true;
                }
                if (TriggerClassText[i].Split('=')[0].Equals("timeoutMin", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.TimeoutMin = TriggerClassText[i].Split('=')[1].Split(';')[0];
                }
                if (TriggerClassText[i].Split('=')[0].Equals("timeoutMid", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.TimeoutMid = TriggerClassText[i].Split('=')[1].Split(';')[0];
                }
                if (TriggerClassText[i].Split('=')[0].Equals("timeoutMax", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.TimeoutMax = TriggerClassText[i].Split('=')[1].Split(';')[0];
                }
                if (TriggerClassText[i].Split('=')[0].Equals("text", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.Text = TriggerClassText[i].Substring(6, TriggerClassText[i].Length - 8);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("name", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.Name = TriggerClassText[i].Substring(6, TriggerClassText[i].Length - 8);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("expCond", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.ExpCond = TriggerClassText[i].Substring(9, TriggerClassText[i].Length - 11);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("expActiv", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.ExpActiv = TriggerClassText[i].Substring(10, TriggerClassText[i].Length - 12);
                }
                if (TriggerClassText[i].Split('=')[0].Equals("class Effects", StringComparison.InvariantCultureIgnoreCase))
                {
                    CurrentTrigger.AssignedEffect = GetEffect(GetClassText(TriggerClassText, i + 1, "{", "}"));
                }
            }
            return(CurrentTrigger);
        }