using GameFramework; using GameFramework.Event; using UnityEngine; namespace GeometryTD.CustomEvent { public sealed class RepoItemClickedEventArgs : GameEventArgs { public static int EventId => typeof(RepoItemClickedEventArgs).GetHashCode(); public override int Id => EventId; public long ItemId { get; private set; } public Vector2 ScreenPosition { get; private set; } public static RepoItemClickedEventArgs Create(long itemId, Vector2 screenPosition) { RepoItemClickedEventArgs args = ReferencePool.Acquire(); args.ItemId = itemId; args.ScreenPosition = screenPosition; return args; } public override void Clear() { ItemId = 0; ScreenPosition = Vector2.zero; } } }