Code:
class MyHud extends UTHUD;
var font MyFont;
var const Texture2D WeapIcon;
var material HudIconBg;
var material BulletIcon;
var UTWeapon LastWeapon;
function DrawHealthBar(String Title, float Value, float MaxValue,int X, int Y, int R, int G, int B)
{
local int PosX,NbCases,i;
PosX = X; // Where we should draw the next rectangle
NbCases = 10 * Value / MaxValue; // Number of active rectangles to draw
i=0; // Number of rectangles already drawn
/* Draws Blackbox to act as outline for time being */
Canvas.SetPos(PosX,Y);
Canvas.SetDrawColor(0,0,0,255);
Canvas.DrawRect(84,16);
/* Displays active rectangles */
while(i < NbCases && i < 10)
{
Canvas.SetPos(PosX +2,Y+2);
Canvas.SetDrawColor(R,G,B,255);
Canvas.DrawRect(8,12);
PosX += 8;
i++;
}
/* Displays desactived rectangles */
while(i < 10)
{
Canvas.SetPos(PosX +2,Y+2);
Canvas.SetDrawColor(255,255,255,80);
Canvas.DrawRect(8,12);
PosX += 8;
i++;
}
}
function DrawWeapon(String Value,int X, int Y, int R, int G, int B)
{
local int PosX;
/*Display Weapon */
Canvas.SetDrawColor (255,255,255,255);
Canvas.Font = (MyFont);
Canvas.DrawText(Value);
}
function DrawTitle(String Value,int X, int Y, int R, int G, int B)
{
local int PosX;
PosX = X; // Where we should draw the next rectangle
/*Display Title */
Canvas.SetPos(PosX +10, Y+ 0);
Canvas.SetDrawColor (255,255,255,255);
Canvas.Font = (MyFont);
Canvas.DrawText(Value);
}
function DrawAmmoBar(String Title, float Value, float MaxValue,int X, int Y, int R, int G, int B)
{
local int PosX,NbCases,i;
PosX = X; // Where we should draw the next rectangle
NbCases = Value; // Number of active rectangles to draw
i=0; // Number of rectangles already drawn
Canvas.SetPos(Posx +872, Y +690); /* set inital location*/
/* Displays active rectangles */
while(i < NbCases && i < Value)
{
Canvas.DrawMaterialTile(Default.BulletIcon,8,12);
Canvas.SetPos(PosX +882, Y+690);
PosX += 10;
i++;
}
/* Displays desactived rectangles */
while(i < 10)
{
Canvas.SetDrawColor(255,255,255,80);
Canvas.DrawRect(8,12);
Canvas.SetPos(PosX +882, Y+690);
PosX += 10;
i++;
}
}
function DisplayAmmo(UTWeapon Weapon)
{
local string Amount;
local int AmmoCount;
local int MaxAmmoCount;
local string Seperater;
local string MaxAmount;
local int PosX;
if (weapon.AmmoDisplayType != EAWDS_BarGraph)
{
MaxAmmoCount = MaxAmmoCount;
MaxAmount = ""$MaxAmmoCount;
AmmoCount = Weapon.GetAmmoCount();
lastweapon = weapon;
lastammocount = ammocount;
Amount = ""$AmmoCount;
Canvas.DrawColor = WhiteColor;
Canvas.DrawText(Amount);
Canvas.DrawText(MaxAmount);
}
}
function DrawGameHud() /* order seems important in terms of which are drawn first and thus over layed */
{
local float XLength, YLength, X, Y;
local vector2d POS;
local int PosX;
local int MaxAmmoCount;
local UTWeapon Weapon;
XLength = 128;
YLength = 64;
if ( !PlayerOwner.IsDead() && !UTPlayerOwner.IsInState('Spectating'))
{
DrawHealthBar("",PlayerOwner.Pawn.Health, PlayerOwner.Pawn.HealthMax,20,20,50,205,50);
DrawTitle ("Life", 20,20,50,205,50);
PosX = X;
/* HUD weapon holder */
Canvas.SetPos(PosX +800, Y+650);
Canvas.DrawMaterialTile(Default.HudIconBg, 192, 96);
/* Weapon Icon */
Canvas.SetPos(PosX +870, Y+655);
Canvas.DrawTile(UTWeapon(PawnOwner.Weapon).IconHud, (XLength), (YLength), 0,0,128, 64);
/* Ammo / Max Ammo */
Canvas.DrawText("Ammo: "@Amount@ " / "@MaxAmmoCount);
/* Weapon Name
Canvas.SetPos(PosX +880, y +720);
DrawWeapon(UTWeapon(PawnOwner.Weapon).ItemName, 20,20,50,205,50);*/
/* Weapon Ammo Bullets */
DrawAmmoBar("",UTWeapon(PawnOwner.Weapon).AmmoCount, UTWeapon(PawnOwner.Weapon).MaxAmmoCount ,10,34,80,80,200);
}
}
function ShowWeaponInventory()
{
//Weapon Name
DrawWeapon(UTWeapon(PawnOwner.Weapon).ItemName, 20,20,50,205,50);
}
thats my whole HUD.
Bookmarks