idTech4.UI.idRegister.SetToRegisters C# (CSharp) Method

SetToRegisters() public method

public SetToRegisters ( float &registers ) : void
registers float
return void
		public void SetToRegisters(ref float[] registers)
		{
			Vector4 v = Vector4.Zero;
			Vector2 v2 = Vector2.Zero;
			Vector3 v3 = Vector3.Zero;
			idRectangle rect = idRectangle.Empty;

			if((_enabled == false) || (_var == null) || ((_var != null) && ((_var.Dictionary != null) || (_var.Evaluate == false))))
			{
				return;
			}

			switch(_type)
			{
				case RegisterType.Vector4:
					v = (idWinVector4) _var;
					break;

				case RegisterType.Rectangle:
					rect = (idWinRectangle) _var;
					v = new Vector4(rect.X, rect.Y, rect.Width, rect.Height);
					break;

				case RegisterType.Vector2:
					v2 = (idWinVector2) _var;
					v.X = v2.X;
					v.Y = v2.Y;
					break;

				case RegisterType.Vector3:
					v3 = (idWinVector3) _var;
					v.X = v3.X;
					v.Y = v3.Y;
					v.Z = v3.Z;
					break;

				case RegisterType.Float:
					v.X = (idWinFloat) _var;
					break;

				case RegisterType.Integer:
					v.X = (idWinInteger) _var;
					break;

				case RegisterType.Bool:
					v.X = (((idWinBool) _var) == true) ? 1 : 0;
					break;
			}

			registers[_indexes[0]] = v.X;
			registers[_indexes[1]] = v.Y;
			registers[_indexes[2]] = v.Z;
			registers[_indexes[3]] = v.W;
		}