Example-Code / CardArchitecture / CollectionCard_InputHandling.cs
CollectionCard_InputHandling.cs
Raw
#nullable enable
using CCG.Bigfoot.ScriptableObjects;
namespace CCG.Bigfoot.CardScripts
{
    /// <summary>
    /// This - CollectionCard_InputHandling.cs is a partial class to CollectionCard.cs to handle input callbacks.
    /// </summary>
    /// <remarks> This is architected as partial for organizational purposes. Separate out each responsibility of the card into its partial class.
    /// Authors: CS
    /// Created: 2024-01-11
    /// </remarks>
    public sealed partial class CollectionCard
    {
        /// <summary>
        /// WARNING! You MUST unsubscribe from static events before resubscribing/shutdown.
        /// </summary>
        public static event System.Action<CardData>? CollectionCardClickedEvent;

        /// <summary>
        /// WARNING! You MUST unsubscribe from static events before resubscribing/shutdown.
        /// </summary>
        public static event System.Action<CardData>? CollectionCardHeldEvent;

        protected override void ExecuteOnPointerClickLogic()
        {
            CollectionCardClickedEvent?.Invoke(CardData!);
        }

        protected override void ExecuteOnHeldLogic()
        {
            CollectionCardHeldEvent?.Invoke(CardData!);
        }
    }
}