Ejemplo n.º 1
0
        private void OnValidate()
        {
            if (Application.isPlaying)
            {
                return;
            }

            if (this == null)
            {
                return;
            }

            if (showButtonEventObserverable != null)
            {
                showButtonEvent = showButtonEventObserverable.GetComponent <ISimpleObserverable>();
            }
            else
            {
                showButtonEvent = null;
            }

            if (showButtonEvent == null)
            {
                showButtonEventObserverable = null;
            }
            else
            {
                showButtonEventObserverable = showButtonEvent as MonoBehaviour;
            }

            for (int i = 0; i < resettables.Length; i++)
            {
                if (resettables[i] != null)
                {
                    var resettable = resettables[i].GetComponent <IResettable>();
                    if (resettable == null)
                    {
                        resettables[i] = null;
                    }
                    else
                    {
                        resettables[i] = resettable as MonoBehaviour;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void Start()
        {
            renderers = GetComponentsInChildren <Renderer>();
            colliders = GetComponentsInChildren <Collider>();

            if (showButtonEventObserverable != null)
            {
                showButtonEvent = showButtonEventObserverable.GetComponent <ISimpleObserverable>();
            }

            resettablesComponents = new IResettable[resettables.Length];
            for (int i = 0; i < resettablesComponents.Length; i++)
            {
                resettablesComponents[i] = resettables[i].GetComponent <IResettable>();
            }

            hasEvent = showButtonEvent != null || (showButtonEventObserverables != null && showButtonEventObserverables.Length > 0);

            if (showButtonEvent != null || (showButtonEventObserverables != null && showButtonEventObserverables.Length > 0))
            {
                if (showButtonEvent != null)
                {
                    showButtonEvent.AddListener(ShowButton);
                }

                if (showButtonEventObserverables != null && showButtonEventObserverables.Length > 0)
                {
                    for (int i = 0; i < showButtonEventObserverables.Length; i++)
                    {
                        var showEvent = showButtonEventObserverables[i].GetComponent <ISimpleObserverable>();

                        if (showEvent != null)
                        {
                            showEvent.AddListener(ShowButton);
                        }
                    }
                }

                HideButton();
            }
            else
            {
                // no hide
            }
        }