private void drawElement(PopupElement element) { if (element.showElement) { if (element.style == null) { element.setStyle(GUI.skin.textArea); //GUI.skin.textArea } int activeElements = 0; if (element.useTitle) activeElements++; if (element.useInput) activeElements++; activeElements += element.buttons.Count; if (activeElements < 1) return; Rect subElementRect = new Rect(marginLeft, marginTop + lastSectionTop + lastElementTop, element.titleSize, element.height); if (element.useTitle) { if (subElementRect.width == 0) subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); if (element.useTextArea) GUI.TextArea(subElementRect, element.titleText, element.style); else GUI.Label(subElementRect, element.titleText, element.style); subElementRect.x += subElementRect.width + subElementSpacing; } if (element.useInput) { subElementRect.width = element.inputSize; if (subElementRect.width == 0) subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); element.inputText = GUI.TextField(subElementRect, element.inputText); subElementRect.x += subElementRect.width + subElementSpacing; } for (int i = 0; i < element.buttons.Count; i++) { subElementRect.width = element.buttons[i].buttonWidth; if (subElementRect.width == 0) subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); if (element.buttons[i].style == null) { if (element.buttons[i].isGUIToggle) element.buttons[i].style = new GUIStyle(GUI.skin.toggle); else element.buttons[i].style = new GUIStyle(GUI.skin.button); } bool resultTrue = false; if (element.buttons[i].isGUIToggle) { resultTrue = GUI.Toggle(subElementRect, element.buttons[i].toggleState, element.buttons[i].buttonText, element.buttons[i].style); element.buttons[i].toggleState = resultTrue; } else { resultTrue = GUI.Button(subElementRect, element.buttons[i].buttonText, element.buttons[i].style); } if (resultTrue) { if (element.buttons[i].genericFunction != null) element.buttons[i].genericFunction(); if (element.buttons[i].buttonSpecificFunction != null) element.buttons[i].buttonSpecificFunction(element.buttons[i]); if (element.buttons[i].IDfunctionInt != null) element.buttons[i].IDfunctionInt(element.buttons[i].buttonIDInt); if (element.buttons[i].IDfunctionString != null) element.buttons[i].IDfunctionString(element.buttons[i].buttonIDString); } subElementRect.x += subElementRect.width + subElementSpacing; } lastElementTop += element.height + lineSpacing; } }
private void drawElement(PopupElement element) { if (element.showElement) { if (element.style == null) { element.setStyle(GUI.skin.textArea); //GUI.skin.textArea } int activeElements = 0; if (element.useTitle) { activeElements++; } if (element.useInput) { activeElements++; } activeElements += element.buttons.Count; if (activeElements < 1) { return; } Rect subElementRect = new Rect(marginLeft, marginTop + lastSectionTop + lastElementTop, element.titleSize, element.height); if (element.useTitle) { if (subElementRect.width == 0) { subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); } if (element.useTextArea) { GUI.TextArea(subElementRect, element.titleText, element.style); } else { GUI.Label(subElementRect, element.titleText, element.style); } subElementRect.x += subElementRect.width + subElementSpacing; } if (element.useInput) { subElementRect.width = element.inputSize; if (subElementRect.width == 0) { subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); } element.inputText = GUI.TextField(subElementRect, element.inputText); subElementRect.x += subElementRect.width + subElementSpacing; } for (int i = 0; i < element.buttons.Count; i++) { subElementRect.width = element.buttons[i].buttonWidth; if (subElementRect.width == 0) { subElementRect.width = (elementWidth / activeElements) - (subElementSpacing); } if (element.buttons[i].style == null) { if (element.buttons[i].isGUIToggle) { element.buttons[i].style = new GUIStyle(GUI.skin.toggle); } else { element.buttons[i].style = new GUIStyle(GUI.skin.button); } } bool resultTrue = false; if (element.buttons[i].isGUIToggle) { resultTrue = GUI.Toggle(subElementRect, element.buttons[i].toggleState, element.buttons[i].buttonText, element.buttons[i].style); element.buttons[i].toggleState = resultTrue; } else { resultTrue = GUI.Button(subElementRect, element.buttons[i].buttonText, element.buttons[i].style); } if (resultTrue) { if (element.buttons[i].genericFunction != null) { element.buttons[i].genericFunction(); } if (element.buttons[i].buttonSpecificFunction != null) { element.buttons[i].buttonSpecificFunction(element.buttons[i]); } if (element.buttons[i].IDfunctionInt != null) { element.buttons[i].IDfunctionInt(element.buttons[i].buttonIDInt); } if (element.buttons[i].IDfunctionString != null) { element.buttons[i].IDfunctionString(element.buttons[i].buttonIDString); } } subElementRect.x += subElementRect.width + subElementSpacing; } lastElementTop += element.height + lineSpacing; } }