コード例 #1
0
        /// <summary>
        /// look for an Interactable if not assigned
        /// </summary>
        protected virtual void OnEnable()
        {
            if (Interactable == null)
            {
                switch (InteractableSearchScope)
                {
                case SearchScopes.Self:
                    Interactable = GetComponent <Interactable>();
                    break;

                case SearchScopes.Parent:
                    Interactable = GetComponentInParent <Interactable>();
                    break;

                case SearchScopes.Children:
                    Interactable = GetComponentInChildren <Interactable>();
                    break;

                default:
                    break;
                }
            }

            if (Interactable != null)
            {
                Interactable.AddHandler(this);
            }
        }
コード例 #2
0
        /// <summary>
        /// Add an interactable and add it as a handler
        /// </summary>
        /// <param name="interactable"></param>
        public void AddInteractable(Interactable interactable)
        {
            if (Interactable != null)
            {
                Interactable.RemoveHandler(this);
            }

            Interactable = interactable;
            Interactable.AddHandler(this);
        }