// Show/Hide individual instance of UI, tied to specific tile internal void ToggleCommandUI(int i, int j, BlockType uiType, bool onlyClose = false) { foreach (var commandUi in commandUis) { if (commandUi.i == i && commandUi.j == j) // UI is open { modUiState.RemoveChild(commandUi); commandUis.Remove(commandUi); return; } } if (!onlyClose) { CommandUI cUI = new CommandUI(); modUiState.Append(cUI); commandUis.Add(cUI); cUI.InitValues(i, j, uiType); } }