public void Open <T>(T uiID, AbstractPanel masterPanel, params object[] args) where T : IConvertible { if (m_Stack == null) { m_Stack = new List <OpenAction>(); } int id = uiID.ToInt32(null); OpenAction action = new OpenAction(id, masterPanel); action.SetParam(args); for (int i = 0; i < m_Stack.Count; ++i) { m_Stack[i].Hide(); } m_Stack.Add(action); action.Show(); }