Exemplo n.º 1
0
        /// <summary>
        /// Добавляется пустой(принудительный) переход
        /// Конечное состояние добавляется в список, если есть такой переход, или создается новый переход
        /// </summary>
        /// <param name="from">начальное состояние</param>
        /// <param name="to">конечное состояние</param>
        public void Add(int from, int to)
        {
            bool changeAdded = false;

            for (int i = 0; i < emptyChanges.Count; i++)
            {
                if (emptyChanges[i].from == from)
                {
                    changeAdded = true;
                    if (!emptyChanges[i].to.Contains(to))
                    {
                        emptyChanges[i].to.Add(to);
                    }
                }
            }
            if (!changeAdded)
            {
                EmptyChange change = new EmptyChange();
                change.from = from;
                change.to   = new List <int>()
                {
                    to
                };
                emptyChanges.Add(change);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Добавляются пустые(принудительные) переходы.
        /// Конечные состояния не дублируются
        /// </summary>
        /// <param name="from">начальное состояние</param>
        /// <param name="to">конечные состояния</param>
        public void Add(int from, params int[] to)
        {
            bool changeAdded = false;

            for (int i = 0; i < emptyChanges.Count; i++)
            {
                if (emptyChanges[i].from == from)
                {
                    changeAdded = true;
                    for (int j = 0; j < to.Length; j++)
                    {
                        if (!emptyChanges[i].to.Contains(to[j]))
                        {
                            emptyChanges[i].to.Add(to[j]);
                        }
                    }
                }
            }
            if (!changeAdded)
            {
                EmptyChange change = new EmptyChange();
                change.from = from;
                change.to   = to.ToList();
                emptyChanges.Add(change);
            }
        }