Game Development Reference
In-Depth Information
// Local Camera Offsets
Vector3 CamHorizontalOffset = Vector3.Multiply(PositionLocal.x, CameraRight);
Vector3 CamVerticalOffset = Vector3.Multiply(PositionLocal.y, CameraUp);
float ZOffset = Cam.GetProjNear() + PositionLocal.z;
Vector3 CamDepthOffset = Vector3.Multiply(ZOffset, CameraForward);
// Create Final PositionWorld Vector
PositionWorld = Vector3.Add(CamPos, CamHorizontalOffset);
PositionWorld = Vector3.Add(PositionWorld, CamVerticalOffset);
PositionWorld = Vector3.Add(PositionWorld, CamDepthOffset);
// Put images from icon and numerical data onto the composite hud texture
BillBoard HUDComposite = Item.GetHUDImage();
Texture HUDCompositeTexture = HUDComposite.GetTexture(0);
Bitmap HUDCompositeBitmap = HUDCompositeTexture.GetTextureBitMap();
BillBoardCharacterSet Text = Item.GetText();
int FontWidth = Text.GetFontWidth();
Texture Icon = Item.GetIcon();
int IconWidth = 0;
if (Item.IsDirty())
{
// Clear Composite Texture;
Bitmap BlankBitmap = m_BlankTexture.GetTextureBitMap();
HUDCompositeTexture.CopySubTextureToTexture(0, 0, 0, BlankBitmap);
if (Icon != null)
{
// Draw Icon on composite
Bitmap HealthBitmap = Icon.GetTextureBitMap();
IconWidth = HealthBitmap.getWidth();
HUDCompositeTexture.CopySubTextureToTexture(0,0,0, HealthBitmap);
}
// Update Numerical Value and render to composite billboard
String text = String.valueOf(Item.GetNumbericalValue());
Text.SetText(text.toCharArray());
Text.RenderToBillBoard(HUDComposite, IconWidth, 0);
// Update Text Value and render to composite billboard
String TextValue = Item.GetTextValue();
if (TextValue != null)
{
int XPosText = IconWidth + (text.length() * FontWidth);
Text.SetText(TextValue.toCharArray());
Text.RenderToBillBoard(HUDComposite, XPosText, 0);
}
Item.SetDirty(false);
}
 
Search WWH ::




Custom Search