예제 #1
0
        private static void DodajZdarzenieZmiennej(HCPSTokenizer tokenizer, List <Zdarzenie> zdarzenia, ZmianaZmiennej zmianaZmiennej)
        {
            Zdarzenie zzz = zdarzenia.Find(delegate(Zdarzenie o)
            {
                if (o is ZmianaZmiennej)
                {
                    return(((ZmianaZmiennej)o).Zmienna.Nazwa == zmianaZmiennej.Zmienna.Nazwa);
                }
                return(false);
            });

            if (zzz != null)
            {
                // połączenie zdarzeń
                ((ZmianaZmiennej)zzz).Akcje = (Akcje)PolaczAkcje(((ZmianaZmiennej)zzz).Akcje, zmianaZmiennej.Akcje);
            }
            else
            {
                zdarzenia.Add(zmianaZmiennej);
            }
        }
예제 #2
0
        private static void DodajZdarzenieZmiennych(HCPSTokenizer tokenizer, List <Zdarzenie> zdarzenia, ZmianaZmiennych zmianaZmiennych)
        {
            Zdarzenie zzz2 = zdarzenia.Find(delegate(Zdarzenie o)
            {
                if (o is ZmianaZmiennych)
                {
                    // sprawdzenie czy lista zmiennych jest taka sama
                    if (zmianaZmiennych.Zmienne.Length == ((ZmianaZmiennych)o).Zmienne.Length)
                    {
                        int ident = 0;
                        foreach (Zmienna z1 in zmianaZmiennych.Zmienne)
                        {
                            foreach (Zmienna z2 in ((ZmianaZmiennych)o).Zmienne)
                            {
                                if (z2.Nazwa == z1.Nazwa)
                                {
                                    ident++;
                                    break;
                                }
                            }
                        }
                        return(ident == zmianaZmiennych.Zmienne.Length && zmianaZmiennych.Minimum == ((ZmianaZmiennych)o).Minimum);
                    }
                    return(false);
                }
                return(false);
            });

            if (zzz2 != null)
            {
                // połączenie zdarzeń
                ((ZmianaZmiennych)zzz2).Akcje = (Akcje)PolaczAkcje(((ZmianaZmiennych)zzz2).Akcje, zmianaZmiennych.Akcje);
            }
            else
            {
                zdarzenia.Add(zmianaZmiennych);
            }
        }
예제 #3
0
 private static void DodajZdarzenie(HCPSTokenizer tokenizer, List <Zdarzenie> zdarzenia, Zdarzenie zdarzenie)
 {
     if (zdarzenie is ZmianaZmiennej)
     {
         DodajZdarzenieZmiennej(tokenizer, zdarzenia, (ZmianaZmiennej)zdarzenie);
         return;
     }
     if (zdarzenie is ZmianaZmiennych)
     {
         DodajZdarzenieZmiennych(tokenizer, zdarzenia, (ZmianaZmiennych)zdarzenie);
         return;
     }
     throw new ParsingScriptException(string.Format(UI.Language.Instance.GetString(UI.UIStrings.UnsupportedEventType), zdarzenie));
 }