コード例 #1
0
        private void CreateBinding()
        {
            switch (parameterType)
            {
            case ParameterType.Bool:
                binding = new Binding(path, this, "BoolValue");
                break;

            case ParameterType.Int:
                binding = new Binding(path, this, "IntValue");
                break;

            case ParameterType.Float:
                binding = new Binding(path, this, "FloatValue");
                break;

            case ParameterType.Trigger:
                binding = new Binding(path, this, "TriggerValue", Binding.BindingMode.OneWay, Binding.ConversionMode.None, null);
                binding.SetFlags(Binding.ControlFlags.ResetTargetValue);
                break;

            default:
                Debug.LogError(string.Format("Unknown parameter type {0}", parameterType), gameObject);
                break;
            }

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #2
0
        private void CreateBinding()
        {
            // create binding
            binding = new Binding(path, target, "normalizedPosition");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #3
0
ファイル: ScrollbarBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            // create binding
            binding = new Binding(path, target, "value");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #4
0
        void Start()
        {
            if (!CheckConfig())
            {
                return;
            }

            if (UseDefaultViewSelection)
            {
                // create name dictionary
                viewNameDictionary = new Dictionary <string, GameObject>();

                foreach (var item in configs)
                {
                    viewNameDictionary.Add(item.name, item.viewTemplate);
                }
            }

            if (usePool)
            {
                var templates = new List <GameObject>();
                foreach (var config in configs)
                {
                    // add to list
                    templates.Add(config.viewTemplate);
                }

                // get pool
                viewPool = ViewPoolManager.Instance.CreateDynamicPool(templates);
            }

            CreateBinding();

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #5
0
ファイル: ListDynamicBinder.cs プロジェクト: dqtoy/GGJ2020
        void Start()
        {
            // check if view template contains DataContext component
            if (viewTemplate.GetComponent <IDataContext>() == null)
            {
                Debug.LogError("ViewTemplate need IDataContext component", gameObject);
                return;
            }

            // get dynamic controller
            dynamicController = GetComponent <IDynamicController>();
            if (dynamicController == null)
            {
                Debug.LogError("Need DynamicController component", gameObject);
                return;
            }

            if (usePool)
            {
                // get pool
                viewPool = ViewPoolManager.Instance.GetViewPool(viewTemplate);
            }
            else
            {
                // create local view pool
                viewPool = LocalViewPool.Create(transform);
            }

            CreateBinding();

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #6
0
        private void CreateBinding()
        {
            // create binding for text
            binding = new Binding(path, this, "Text");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #7
0
        private void CreateBinding()
        {
            // create binding
            binding = new Binding(path, this, "Command", Binding.BindingMode.OneWay, Binding.ConversionMode.None, null);
            binding.SetFlags(Binding.ControlFlags.ResetTargetValue);

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #8
0
        private void CreateBinding()
        {
            var target = GetComponent <UnityEngine.UI.Graphic>();

            if (target == null)
            {
                Debug.LogError("Require UI.Graphic Component", gameObject);
                return;
            }

            // create binding for color
            binding = new Binding(path, target, "color");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #9
0
ファイル: FillAmountBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            var target = GetComponent <Image>();

            if (target == null)
            {
                Debug.LogError("Require Image Component", gameObject);
                return;
            }

            // create binding for sprite
            binding = new Binding(path, target, "fillAmount");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #10
0
ファイル: DropdownBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            bindingList = new List <IBinding>();

            // create binding
            if (!string.IsNullOrEmpty(stringOptionsPath))
            {
                var optionBinding = new Binding(stringOptionsPath, this, "StringOptions");
                bindingList.Add(optionBinding);
            }

            valueBinding = new Binding(valuePath, target, "value");
            bindingList.Add(valueBinding);

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #11
0
ファイル: ImageBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            var target = GetComponent <Image>();

            if (target == null)
            {
                Debug.LogError("Require Image Component", gameObject);
                return;
            }

            // create binding for sprite
            IValueConverter vc = ValueConverterProvider.Instance.GetNamedConverter(converterName);

            binding = new Binding(path, target, "sprite", Binding.BindingMode.OneWay, Binding.ConversionMode.Parameter, vc);

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #12
0
ファイル: InputFieldBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            bindingList = new List <IBinding>();

            // create binding
            textBinding = new Binding(textPath, this, "Text");
            bindingList.Add(textBinding);

            if (!string.IsNullOrEmpty(validateInputPath))
            {
                var binding = new Binding(validateInputPath, this, "ValidateInput");
                binding.SetFlags(Binding.ControlFlags.ResetTargetValue);

                bindingList.Add(binding);
            }

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #13
0
ファイル: TextMultiBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            bindingList = new List <IBinding>();

            foreach (var config in configs)
            {
                // set owner
                config.Owner = this;

                // create binding
                var binding = new Binding(config.path, config, "SourceValue");

                // add it
                bindingList.Add(binding);
            }

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #14
0
ファイル: CollectionBinder.cs プロジェクト: dqtoy/GGJ2020
        void Start()
        {
            // check if view template contains DataContext component
            if (viewTemplate.GetComponent <IDataContext>() == null)
            {
                Debug.LogError("ViewTemplate need IDataContext component", gameObject);
                return;
            }

            if (usePool)
            {
                // get pool
                viewPool = ViewPoolManager.Instance.GetViewPool(viewTemplate);
            }

            CreateBinding();

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #15
0
ファイル: RectTransformBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            var target = GetComponent <RectTransform>();

            if (target == null)
            {
                Debug.LogError("Require RectTransform Component", gameObject);
                return;
            }

            bindingList = new List <IBinding>();

            if (!string.IsNullOrEmpty(offsetMinPath))
            {
                Binding binding = new Binding(offsetMinPath, target, "offsetMin");
                bindingList.Add(binding);
            }

            if (!string.IsNullOrEmpty(offsetMaxPath))
            {
                Binding binding = new Binding(offsetMaxPath, target, "offsetMax");
                bindingList.Add(binding);
            }

            if (!string.IsNullOrEmpty(anchoredPositionPath))
            {
                Binding binding = new Binding(anchoredPositionPath, target, "anchoredPosition");
                bindingList.Add(binding);
            }

            if (!string.IsNullOrEmpty(sizeDeltaPath))
            {
                Binding binding = new Binding(sizeDeltaPath, target, "sizeDelta");
                bindingList.Add(binding);
            }

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #16
0
        private void CreateBinding()
        {
            bindingList = new List <IBinding>();

            foreach (var item in configs)
            {
                // set converter mode
                var             mode = Binding.ConversionMode.Automatic;
                IValueConverter vc   = null;

                if (!string.IsNullOrEmpty(item.converterName))
                {
                    mode = Binding.ConversionMode.Parameter;
                    vc   = ValueConverterProvider.Instance.GetNamedConverter(item.converterName);
                }

                var binding = new Binding(item.path, target, item.targetPath, Binding.BindingMode.OneWay, mode, vc);

                // add to list
                bindingList.Add(binding);
            }

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #17
0
ファイル: SliderBinder.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            bindingList = new List <IBinding>();

            if (!string.IsNullOrEmpty(minValuePath))
            {
                // minValue
                var binding = new Binding(minValuePath, target, "minValue");
                bindingList.Add(binding);
            }

            if (!string.IsNullOrEmpty(maxValuePath))
            {
                // maxValue
                var binding = new Binding(maxValuePath, target, "maxValue");
                bindingList.Add(binding);
            }

            // create value binding
            valueBinding = new Binding(valuePath, target, "value");
            bindingList.Add(valueBinding);

            BindingUtility.AddBinding(bindingList, transform, out dataContext);
        }
コード例 #18
0
ファイル: EnumSelector.cs プロジェクト: dqtoy/GGJ2020
        private void CreateBinding()
        {
            binding = new Binding(path, this, "StringValue");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }
コード例 #19
0
        private void CreateBinding()
        {
            binding = new Binding(path, this, "Interactable");

            BindingUtility.AddBinding(binding, transform, out dataContext);
        }