Aimbot-PPO/Aimbot-PPO-MultiScene/Assets/XCharts/Runtime/Internal/Attributes/SerieDataExtraFieldAttribute.cs
Koha9 2d404cfdf2 Aimbot Enviroment very first
Basic environment include Multi scene, Reward Change, Visible chart, etc....
2022-09-05 20:46:08 +09:00

75 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
namespace XCharts.Runtime
{
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public sealed class SerieDataExtraFieldAttribute : Attribute
{
public readonly List<string> fields = new List<string>();
public SerieDataExtraFieldAttribute()
{ }
public SerieDataExtraFieldAttribute(string field1)
{
AddFiled(field1);
}
public SerieDataExtraFieldAttribute(string field1, string field2)
{
AddFiled(field1);
AddFiled(field2);
}
public SerieDataExtraFieldAttribute(string field1, string field2, string field3)
{
AddFiled(field1);
AddFiled(field2);
AddFiled(field3);
}
public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4)
{
AddFiled(field1);
AddFiled(field2);
AddFiled(field3);
AddFiled(field4);
}
public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5)
{
AddFiled(field1);
AddFiled(field2);
AddFiled(field3);
AddFiled(field4);
AddFiled(field5);
}
public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5, string field6)
{
AddFiled(field1);
AddFiled(field2);
AddFiled(field3);
AddFiled(field4);
AddFiled(field5);
AddFiled(field6);
}
public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5, string field6, string field7)
{
AddFiled(field1);
AddFiled(field2);
AddFiled(field3);
AddFiled(field4);
AddFiled(field5);
AddFiled(field6);
AddFiled(field7);
}
private void AddFiled(string field)
{
if (!SerieData.extraFieldList.Contains(field))
throw new ArgumentException("SerieData not support field:" + field);
fields.Add(field);
}
public bool Contains(string field)
{
return fields.Contains(field);
}
}
}