コード例 #1
0
        public void Show(OnSearchDelegate searchCallback)
        {
            gameObject.SetActive(true);
            transform.SetAsLastSibling();
            SearchCallback = searchCallback;

            stringFilterPanel.gameObject.SetActive(false);
            integerFilterPanel.gameObject.SetActive(false);
            toggleFilterPanel.gameObject.SetActive(false);
            for (int i = FilterPanels.Count - 1; i >= 0; i--)
            {
                Destroy(FilterPanels[i].gameObject);
                FilterPanels.RemoveAt(i);
            }
            InputFields.Clear();
            Toggles.Clear();

            nameInputField.text             = Filters.Name;
            nameInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); };
            InputFields.Add(nameInputField);

            idInputField.text             = Filters.Id;
            idInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); };
            InputFields.Add(idInputField);

            setCodeInputField.text             = Filters.SetCode;
            setCodeInputField.onValidateInput += delegate(string input, int charIndex, char addedChar) { return(Inputs.FilterFocusNameInput(addedChar)); };
            InputFields.Add(setCodeInputField);

            foreach (PropertyDef property in CardGameManager.Current.CardProperties)
            {
                AddPropertyPanel(property, property.Name);
            }
            propertyFiltersContent.sizeDelta = new Vector2(propertyFiltersContent.sizeDelta.x, PropertyPanelHeight * (FilterPanels.Count + 3));
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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);
            }
        }