public void GetFromRegisters(float[] registers)
{
Vector4 v;
idRectangle rect;
if((_enabled == false) || (_var == null) || ((_var != null) && ((_var.Dictionary != null) || (_var.Evaluate == false))))
{
return;
}
v.X = registers[_indexes[0]];
v.Y = registers[_indexes[1]];
v.Z = registers[_indexes[2]];
v.W = registers[_indexes[3]];
switch(_type)
{
case RegisterType.Vector4:
((idWinVector4) _var).Set(v);
break;
case RegisterType.Rectangle:
rect.X = v.X;
rect.Y = v.Y;
rect.Width = v.Z;
rect.Height = v.W;
((idWinRectangle) _var).Set(rect);
break;
case RegisterType.Vector2:
((idWinVector2) _var).Set(new Vector2(v.X, v.Y));
break;
case RegisterType.Vector3:
((idWinVector3) _var).Set(new Vector3(v.X, v.Y, v.Z));
break;
case RegisterType.Float:
((idWinFloat) _var).Set(v.X);
break;
case RegisterType.Integer:
((idWinInteger) _var).Set((int) v.X);
break;
case RegisterType.Bool:
((idWinBool) _var).Set(v.X != 0.0f);
break;
}
}
#endregion