Example #1
0
        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));
            }
        }