class GUIWeaponImage extends GUIImage;

var float nFov;
var() editinline editconst noexport SpinnyWeap	InfoWeapon; // MUST be set to null when you leave the window
var vector offset;

/*
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
	Super.InitComponent(MyController,MyOwner);
	//Show us a spinning shotgun!
	if(InfoWeapon == None)
	    InfoWeapon = PlayerOwner().Spawn(class'XInterface.SpinnyWeap');
	InfoWeapon.bPlayCrouches = false;
	InfoWeapon.bPlayRandomAnims = false;
	InfoWeapon.SpinRate=0; //Oh, wait, don't.
	InfoWeapon.bHidden = true;
}

function ChangeToWeapon(GUIBuyable newWeapon)
{
	if(newWeapon == None)
	{
		InfoWeapon.bHidden = true;
		return;
	}
	if(newWeapon.showMesh != None)
	{
		InfoWeapon.SetDrawType(DT_Mesh);
		InfoWeapon.LinkMesh(newWeapon.showMesh);
	} else
	{
		InfoWeapon.SetDrawType(DT_StaticMesh);
		InfoWeapon.SetStaticMesh(newWeapon.myShowMesh);
	}
	offset = newWeapon.infoDrawOffset;
	//log("offset:"@offset,'KFMessage');
	InfoWeapon.SetDrawScale(newWeapon.infoDrawScale);
	InfoWeapon.SpinRate = newWeapon.infoSpinRate;  //Okay, you can if you want to.
	ResetWeaponRotation(newWeapon.infoDrawRotation);
}

function ResetWeaponRotation(rotator thing)
{
	local rotator temp;
  	if ( InfoWeapon != None )
  	{
  	    temp.Yaw = PlayerOwner().Rotation.Yaw + thing.Yaw;
  	    temp.Roll = PlayerOwner().Rotation.Roll + thing.Roll;
  	    temp.Pitch = PlayerOwner().Rotation.Pitch + thing.Pitch;
   		InfoWeapon.SetRotation(temp);
		InfoWeapon.bHidden = false;
	 }
}

function PostRenderBuyMenu(Canvas Canvas)
{
	local float oOrgX,oOrgY;
	local float oClipX,oClipY;
	local vector CamPos,X,Y,Z;
	local rotator CamRot;

  	oOrgX = Canvas.OrgX;
	oOrgY = Canvas.OrgY;
	oClipX = Canvas.ClipX;
	oClipY = Canvas.ClipY;

	Canvas.OrgX = ActualLeft();
	Canvas.OrgY = ActualTop();
	Canvas.ClipX = ActualWidth();
	Canvas.ClipY = ActualHeight();

	canvas.GetCameraLocation(CamPos, CamRot);
	GetAxes(CamRot, X, Y, Z);


	InfoWeapon.SetLocation(CamPos + (X*offset.X)+(Y*offset.Y)+(Z*offset.Z));

   	canvas.DrawActorClipped(InfoWeapon, false,  ActualLeft(), ActualTop(), ActualWidth(), ActualHeight(), true, nFov);

	Canvas.OrgX = oOrgX;
	Canvas.OrgY = oOrgY;
   	Canvas.ClipX = oClipX;
	Canvas.ClipY = oClipY;
}

event Closed(GUIComponent Sender, bool bCancelled)
{
	Super.Closed(Sender, bCancelled);
	if ( InfoWeapon != None )
		InfoWeapon.bHidden = true;
}

function Free()
{
	Super.Free();

	if ( InfoWeapon != None )
		InfoWeapon.Destroy();

	InfoWeapon = None;
}

*/
defaultproperties
{
/*
     nfov=65.000000
     OnRendered=GUIWeaponImage.PostRenderBuyMenu
*/
}
