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); }
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); }
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); } }
public TLevelController() { f_List = new List <object>(); f_CurrentLevel = null; }