Пример #1
0
        public TLevelItem Push(int AIdParentShape)
        {
            TLevelItem Item = FindLevel(AIdParentShape);

            if (Item == null)
            {
                Item = new TLevelItem();
                Item.IdParentShape = AIdParentShape;
                f_List.Add(Item);
            }
            f_CurrentLevel = Item;
            return(Item);
        }
Пример #2
0
        public TLevelItem Pop()
        {
            TLevelItem Item = null;
            int        idx  = f_List.Count;

            if (idx > 1)
            {
                Item           = (TLevelItem)f_List.ElementAt(idx - 2);
                f_CurrentLevel = Item;
                DeleteLastLevel();
            }
            return(Item);
        }
Пример #3
0
        void DeleteLastLevel()
        {
            int idx = f_List.Count;

            if (idx >= 0)
            {
                TLevelItem Item = (TLevelItem)f_List.ElementAt(idx - 1);
                if (f_CurrentLevel == Item)
                {
                    f_CurrentLevel = null;
                }
                Item = null;
                f_List.RemoveAt(idx - 1);
            }
        }
Пример #4
0
 public TLevelController()
 {
     f_List         = new List <object>();
     f_CurrentLevel = null;
 }