//-----------------------------------------------------------------------
// Copyright 2016 Tobii AB (publ). All rights reserved.
//----------------------------------------------------------------------

using UnityEngine;

namespace Tobii.EyeTracking
{
    public interface IRegisterGazeFocusable
    {
        /// <summary>
        /// Registers the supplied <see cref="IGazeFocusable"/> component so that
        /// the <see cref="GameObject"/> it belongs to can be focused using eye-gaze.
        /// </summary>
        /// <param name="gazeFocusableComponent">The component to register.</param>
        void RegisterFocusableComponent(IGazeFocusable gazeFocusableComponent);

        /// <summary>
        /// Unregisters the supplied <see cref="IGazeFocusable"/> component so
        /// that the <see cref="GameObject"/> it belongs to no longer can be 
        /// focused using eye-gaze.
        /// </summary>
        /// <param name="gazeFocusableComponent">The component to unregister.</param>
        void UnregisterFocusableComponent(IGazeFocusable gazeFocusableComponent);
    }
}