s = Schema();
s.AimVectors = Validate.TableOf("vector3");
s.Stance = Validate.Enum("stand","crouch","prone").Default("crouch");
s.MinCampTime = Validate.NumRange(0,40).Default(10);
s.MaxCampTime = Validate.NumRange(0,40).Default(3);
s.Weapons = TableOf("int").CheckValue(WEAPON);

gooddata =
{
	AimVectors = { Vector3() },
	Stance = "crouch",
	MinCampTime = 20,
	MaxCampTime = 30,
};
baddata =
{
	AimVectors = { Vector3(),67 },
	Stance = "crouchezz",
	MinCampTime = 920,
	MaxCampTime = 370,
};

print("Validating Good data");
errors = {};
assert(s.Check(gooddata,errors) == true);
print("Errors");
foreach(err in errors)
{
	print(err);
}
print("----------");
print("Validating Bad data");
errors = {};
assert(s.Check(baddata,errors) == false);
print("Errors");
foreach(err in errors)
{
	print(err);
}
print("----------");
