Core.Object | +--Engine.Actor | +--UMS1_6.UMS | +--UMSHud.HUDPic
bool
bHiding
bMoving
float
currentX
currentY
moveTime
moveTotalTime
moveX
moveXperSec
moveXstart
moveY
moveYperSec
moveYstart
myScale
string
thisPicName
Texture
thisTex
void
Delete()
ExecuteMove(float newMoveTime, vector newMovePos, bool bMoveBy)
Hide(float fadeTime)
PostRender(Canvas C)
Show(float fadeTime)
Tick(float DeltaTime)
setUp(string picName, string texName, float newScale, vector newPos, bool bPicHiding)
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 }