using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace SDL2Demo.Screenhacks
{
    internal class ScreenHackTypeComparer : Comparer<Type>
    {
        public override int Compare(Type? x, Type? y)
        {
            Attribute customAttribute = x.GetCustomAttribute(typeof(ScreenHackIdAttribute));
            if (customAttribute == null)
                return 0;

            Attribute attribute = y.GetCustomAttribute(typeof(ScreenHackIdAttribute));
            if (attribute == null)
                return 0;

            ScreenHackIdAttribute l = (ScreenHackIdAttribute)customAttribute;
            ScreenHackIdAttribute r = (ScreenHackIdAttribute)attribute;

            return l.Id.CompareTo(r.Id);
        }
    }
}
