UMSHud
Class HUDPic

source: e:\games\UnrealTournament\UMSHud\Classes\HUDPic.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--UMS1_6.UMS
         |
         +--UMSHud.HUDPic
Direct Known Subclasses:None

class HUDPic
extends UMS1_6.UMS


Variables
 bool bHiding
 bool bMoving
 float currentX
 float currentY
 float moveTime
 float moveTotalTime
 float moveX
 float moveXperSec
 float moveXstart
 float moveY
 float moveYperSec
 float moveYstart
 float myScale
 string thisPicName
 Texture thisTex


Function Summary
 void Delete()
 void ExecuteMove(float newMoveTime, vector newMovePos, bool bMoveBy)
 void Hide(float fadeTime)
 void PostRender(Canvas C)
 void Show(float fadeTime)
 void Tick(float DeltaTime)
 void setUp(string picName, string texName, float newScale, vector newPos, bool bPicHiding)



Source Code


00001	class HUDPic expands UMS;
00002	
00003	
00004	var string thisPicName;
00005	
00006	var texture thisTex;
00007	
00008	var float currentX;
00009	var float currentY;
00010	
00011	var bool bHiding;
00012	
00013	var bool bMoving;
00014	
00015	var float moveTime;
00016	var float moveTotalTime;
00017	
00018	var float moveXstart;
00019	var float moveYstart;
00020	var float moveXperSec;
00021	var float moveYperSec;
00022	var float moveX;
00023	var float moveY;
00024	
00025	var float myScale;
00026	
00027	function PostRender(canvas C)
00028	{
00029		if(!bHiding)
00030		{
00031			C.setOrigin(0, 0);
00032			C.SetPos(currentX, currentY);
00033		
00034			C.DrawIcon(thisTex, myScale);
00035		}
00036	}
00037	
00038	function setUp(string picName, string texName, float newScale, vector newPos, bool bPicHiding)
00039	{
00040		bHiding = bPicHiding;
00041		thisPicName = picName;
00042		thisTex = Texture(DynamicLoadObject(texName, class'Texture'));
00043		myScale = newScale;
00044		currentX = newPos.x;
00045		currentY = newPos.y;
00046	}
00047	
00048	function ExecuteMove(float newMoveTime, vector newMovePos, bool bMoveBy)
00049	{
00050		log(self$": Moving"@thisPicName);
00051		
00052		if(bMoveBy)
00053		{
00054			if(newMoveTime == 0)
00055			{
00056				log("MoveTime is 0 - going straight there.");
00057				log("Was:"@currentX$","@currentY);
00058				currentX += newMovePos.x;
00059				currentY += newMovePos.y;
00060				log("Now:"@currentX$","@currentY);
00061				bMoving = false;
00062			}		
00063			else
00064			{
00065				log("MoveTime is:"@newMoveTime);
00066				moveX = currentX + newMovePos.x;
00067				moveY = currentY + newMovePos.y;
00068				log("Destination is:"@moveX$","@moveY);
00069				bMoving = true;
00070				moveTime = newMoveTime;
00071				
00072				moveXperSec = (moveX - currentX) / moveTime;
00073				moveYperSec = (moveY - currentY) / moveTime;
00074				log("Movement per sec:"@moveXperSec$","@moveYperSec);
00075			}
00076		}
00077		else
00078		{
00079			if(newMoveTime == 0)
00080			{
00081				log("MoveTime is 0 - going straight there.");
00082				log("Was:"@currentX$","@currentY);
00083				currentX = newMovePos.x;
00084				currentY = newMovePos.y;
00085				log("Now:"@currentX$","@currentY);
00086				bMoving = false;
00087			}		
00088			else
00089			{
00090				log("MoveTime is:"@newMoveTime);
00091				moveX = newMovePos.x;
00092				moveY = newMovePos.y;
00093				log("Destination is:"@moveX$","@moveY);
00094				bMoving = true;
00095				moveTime = newMoveTime;
00096				
00097				moveXperSec = (moveX - currentX) / moveTime;
00098				moveYperSec = (moveY - currentY) / moveTime;
00099				log("Movement per sec:"@moveXperSec$","@moveYperSec);
00100			}
00101		}
00102	}
00103	
00104	function Delete()
00105	{
00106		Destroy();
00107	}
00108	
00109	function Hide(float fadeTime)
00110	{
00111		bHiding = true;
00112	}
00113	
00114	function Show(float fadeTime)
00115	{
00116		bHiding = false;
00117	}
00118	
00119	function Tick(float DeltaTime)
00120	{
00121		if(bMoving)
00122		{
00123			log("Moving");
00124			if(moveTime <= DeltaTime)
00125			{
00126				log("Jumping to:"@moveX$","@moveY);
00127				currentX = moveX;
00128				currentY = moveY;
00129				bMoving = false;
00130			}
00131			else
00132			{
00133				log("Going from:"@currentX$","@currentY);
00134				currentX += (moveXperSec * DeltaTime);
00135				currentY += (moveYperSec * DeltaTime);
00136				log("To:"@currentX$","@currentY);
00137	
00138				moveTime -= DeltaTime;
00139				log("MoveTime left:"@moveTime);
00140			}
00141		}
00142	}
00143	
00144	defaultproperties
00145	{
00146	}

End Source Code