public void Show(OnNameChangeDelegate nameChangeCallback, OnSearchDelegate searchCallback) { gameObject.SetActive(true); transform.SetAsLastSibling(); NameChangeCallback = nameChangeCallback; SearchCallback = searchCallback; stringPropertyPanel.gameObject.SetActive(false); integerPropertyPanel.gameObject.SetActive(false); enumPropertyPanel.gameObject.SetActive(false); for (int i = FilterPanels.Count - 1; i >= 0; i--) { Destroy(FilterPanels[i].gameObject); FilterPanels.RemoveAt(i); } InputFields.Clear(); Toggles.Clear(); nameInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); }; InputFields.Add(nameInputField); idInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); }; InputFields.Add(idInputField); setCodeInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); }; InputFields.Add(setCodeInputField); propertyFiltersContent.sizeDelta = new Vector2(propertyFiltersContent.sizeDelta.x, PropertyPanelHeight * CardGameManager.Current.CardProperties.Count + (PropertyPanelHeight * 3)); foreach (PropertyDef property in CardGameManager.Current.CardProperties) { GameObject newPanel; if (CardGameManager.Current.IsEnumProperty(property.Name)) { newPanel = CreateEnumPropertyFilterPanel(property); } else if (property.Type == PropertyType.Integer) { newPanel = CreateIntegerPropertyFilterPanel(property.Name, property.Display); } else //if (property.Type == PropertyType.String) { newPanel = CreateStringPropertyFilterPanel(property.Name, property.Display); } FilterPanels.Add(newPanel); foreach (InputField inputField in newPanel.GetComponentsInChildren <InputField>()) { inputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); }; InputFields.Add(inputField); } foreach (Toggle toggle in newPanel.GetComponentsInChildren <Toggle>()) { Toggles.Add(toggle); } } }
public void AddPropertyPanel(PropertyDef forProperty, string propertyName) { if (forProperty == null || string.IsNullOrEmpty(propertyName)) { Debug.LogWarning("AddPropertyPanel::NullPropertyOrName"); return; } if (forProperty.Type == PropertyType.Object || forProperty.Type == PropertyType.ObjectList) { foreach (PropertyDef childProperty in forProperty.Properties) { AddPropertyPanel(childProperty, propertyName + PropertyDef.ObjectDelimiter + childProperty.Name); } return; } GameObject newPanel; if (CardGameManager.Current.IsEnumProperty(propertyName)) { newPanel = CreateEnumPropertyFilterPanel(propertyName, forProperty); } else if (forProperty.Type == PropertyType.Boolean) { newPanel = CreateBooleanPropertyFilterPanel(propertyName, forProperty.Display); } else if (forProperty.Type == PropertyType.Integer) { newPanel = CreateIntegerPropertyFilterPanel(propertyName, forProperty.Display); } else //if (property.Type == PropertyType.String) { newPanel = CreateStringPropertyFilterPanel(propertyName, forProperty.Display); } FilterPanels.Add(newPanel); foreach (InputField inputField in newPanel.GetComponentsInChildren <InputField>()) { inputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); }; InputFields.Add(inputField); } foreach (Toggle toggle in newPanel.GetComponentsInChildren <Toggle>()) { Toggles.Add(toggle); } }