mirror of
https://github.com/mm201/pkmn-classic-framework.git
synced 2026-03-22 01:44:20 -05:00
32 lines
918 B
C#
32 lines
918 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace PkmnFoundations.Structures
|
|
{
|
|
public abstract class StatValuesBase<T> where T : struct
|
|
{
|
|
protected StatValuesBase(IEnumerable<T> s)
|
|
{
|
|
// fail without enumerating if possible
|
|
if (s is IList<T> && ((IList<T>)s).Count != 6) throw new ArgumentException("Collection must have exactly 6 elements.", "s");
|
|
var arr = s.ToArray();
|
|
if (arr.Length != 6) throw new ArgumentException("Collection must have exactly 6 elements.", "s");
|
|
Stats = arr;
|
|
}
|
|
|
|
protected StatValuesBase(T s0, T s1, T s2, T s3, T s4, T s5)
|
|
: this(new T[6] { s0, s1, s2, s3, s4, s5 })
|
|
{
|
|
}
|
|
|
|
protected T[] Stats { get; private set; }
|
|
|
|
public T[] ToArray()
|
|
{
|
|
return Stats.ToArray();
|
|
}
|
|
}
|
|
}
|