private void _handleUseActionEvent(IActor source, ITarget target, Action action) { // Queue next actor availability. long t = source.BeginCast(action, Time); EventQueue.Add(new BattleEvent(BattleEventType.ACTOR_READY, t, source)); // Resolves later if it has a cast time, else resolves now. if (action.BaseAction.CastTime > 0) { EventQueue.Add(new BattleEvent( BattleEventType.RESOLVE_ACTION, t, source, target, action: action)); } else { EventQueue.Add(new BattleEvent( BattleEventType.RESOLVE_ACTION, Time, source, target, action: action)); } }