public bool Convert(string s, out object value)
{
Vector4 v = Vector4.Zero;
value = v;
float f;
string[] splits = s.Split(ZXPCExt.VALUE_DELIMITERS, StringSplitOptions.RemoveEmptyEntries);
int vi = 0;
foreach(var sv in splits) {
if(vi == 4) break;
if(string.IsNullOrWhiteSpace(sv))
continue;
if(float.TryParse(sv, out f)) {
switch(vi) {
case 0: v.X = f; break;
case 1: v.Y = f; break;
case 2: v.Z = f; break;
case 3: v.W = f; break;
}
vi++;
}
}
if(vi < 4) return false;
value = v;
return true;
}