using System.Collections.Generic;
using TagFighter.Resources;
using UnityEngine;
using System;

namespace TagFighter
{
    public interface IEffectSystem
    {
        void ApplyTagsEffect(IEnumerable<(Type, IUnit)> tags, EffectOrigin origin, Quaternion direction, IAreaOfEffect areaOfEffect);
        void ApplyTagsEffect(IEnumerable<(Type, IUnit)> tags, EffectOrigin origin, EffectTarget effectLocation, IAreaOfEffect areaOfEffect);
        Color GetEffectColor(IEnumerable<(Type, IUnit)> tags);
        Mesh CreateArcMesh(float arc, float length, int numberOfVerticesInArc, Vector3 rotationAxis);
        Mesh CreateQuadMesh(float width, float length, Vector3 rotationAxis);
    }

}