本文整理汇总了C++中CItem::GetReferenceDamageAdj方法的典型用法代码示例。如果您正苦于以下问题:C++ CItem::GetReferenceDamageAdj方法的具体用法?C++ CItem::GetReferenceDamageAdj怎么用?C++ CItem::GetReferenceDamageAdj使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CItem
的用法示例。
在下文中一共展示了CItem::GetReferenceDamageAdj方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PaintItemEntry
//.........这里部分代码省略.........
int iLevel = pItemType->GetApparentLevel();
CString sReference = pItemType->GetReference(Ctx);
DamageTypes iDamageType;
CString sDamageRef;
int iDamageAdj[damageCount];
int iHP;
if (Item.GetReferenceDamageType(pSource, -1, 0, &iDamageType, &sDamageRef))
{
// Paint the damage type reference
PaintReferenceDamageType(Dest,
rcDrawRect.left + DAMAGE_ADJ_SPACING_X,
rcDrawRect.top,
iDamageType,
sDamageRef);
rcDrawRect.top += Medium.GetHeight();
// Paint additional reference in the line below
if (!sReference.IsBlank())
{
Medium.DrawText(Dest,
rcDrawRect,
wColorRef,
sReference,
0,
0,
&cyHeight);
rcDrawRect.top += cyHeight;
}
}
else if (Item.GetReferenceDamageAdj(pSource, 0, &iHP, iDamageAdj))
{
// Paint the initial text
sStat = strPatternSubst("hp: %d ", iHP);
int cxWidth = Medium.MeasureText(sStat, &cyHeight);
Medium.DrawText(Dest,
rcDrawRect,
wColorRef,
sStat,
0,
0,
&cyHeight);
// Paint the damage type array
PaintReferenceDamageAdj(Dest,
rcDrawRect.left + cxWidth + DAMAGE_ADJ_SPACING_X,
rcDrawRect.top,
iLevel,
iHP,
iDamageAdj);
rcDrawRect.top += cyHeight;
// Paint additional reference in the line below
if (!sReference.IsBlank())
{
Medium.DrawText(Dest,
rcDrawRect,
wColorRef,
sReference,
0,
0,
&cyHeight);
rcDrawRect.top += cyHeight;
}
}
else
{
Medium.DrawText(Dest,
rcDrawRect,
wColorRef,
sReference,
0,
0,
&cyHeight);
rcDrawRect.top += cyHeight;
}
// Description
CString sDesc = Item.GetDesc();
Medium.DrawText(Dest,
rcDrawRect,
(bSelected ? wColorDescSel : wColorDesc),
sDesc,
0,
CG16bitFont::SmartQuotes,
&cyHeight);
rcDrawRect.top += cyHeight;
}
示例2: CalcItemEntryHeight
int CUIHelper::CalcItemEntryHeight (CSpaceObject *pSource, const CItem &Item, const RECT &rcRect, DWORD dwOptions) const
// CalcItemEntryHeight
//
// Computes the height necessary to paint the item entry.
{
const CVisualPalette &VI = m_HI.GetVisuals();
const CG16bitFont &LargeBold = VI.GetFont(fontLargeBold);
const CG16bitFont &Medium = VI.GetFont(fontMedium);
bool bNoIcon = ((dwOptions & OPTION_NO_ICON) == OPTION_NO_ICON);
bool bTitle = ((dwOptions & OPTION_TITLE) == OPTION_TITLE);
// Get the item
CItemCtx Ctx(&Item, pSource);
CItemType *pType = Item.GetType();
if (pType == NULL)
return ITEM_DEFAULT_HEIGHT;
// Compute the rect where the reference text will paint
RECT rcDrawRect = rcRect;
rcDrawRect.left += ITEM_TEXT_MARGIN_X;
rcDrawRect.right -= ITEM_TEXT_MARGIN_X;
if (!bNoIcon)
rcDrawRect.left += ICON_WIDTH;
int iLevel = pType->GetApparentLevel();
// Compute the height of the row
int cyHeight = 0;
// Account for margin
cyHeight += ITEM_TEXT_MARGIN_Y;
// Item title
cyHeight += LargeBold.GetHeight();
if (bTitle)
cyHeight += ITEM_TITLE_EXTRA_MARGIN;
// Attributes
TArray<SDisplayAttribute> Attribs;
if (Item.GetDisplayAttributes(Ctx, &Attribs))
{
int cyAttribs;
FormatDisplayAttributes(Attribs, rcDrawRect, &cyAttribs);
cyHeight += cyAttribs + ATTRIB_SPACING_Y;
}
// Reference
CString sReference = pType->GetReference(Ctx);
// If this is a weapon, then add room for the weapon damage
if (Item.GetReferenceDamageType(pSource, -1, 0, NULL, NULL))
cyHeight += Medium.GetHeight();
// If this is armor or a shield, then add room for damage resistance
else if (Item.GetReferenceDamageAdj(pSource, 0, NULL, NULL))
cyHeight += Medium.GetHeight();
// Measure the reference text
int iLines;
if (!sReference.IsBlank())
{
iLines = Medium.BreakText(sReference, RectWidth(rcDrawRect), NULL, 0);
cyHeight += iLines * Medium.GetHeight();
}
// Measure the description
CString sDesc = Item.GetDesc();
iLines = Medium.BreakText(sDesc, RectWidth(rcDrawRect), NULL, 0);
cyHeight += iLines * Medium.GetHeight();
// Margin
cyHeight += ITEM_TEXT_MARGIN_BOTTOM;
// Done
cyHeight = Max(ITEM_DEFAULT_HEIGHT, cyHeight);
return cyHeight;
}
示例3: PaintItem
//.........这里部分代码省略.........
m_pFonts->Medium.DrawText(Dest,
rcDrawRect,
m_pFonts->wItemRef,
sStat,
0,
0,
&cyHeight);
// Paint the damage type reference
m_pUIRes->DrawReferenceDamageType(Dest,
rcDrawRect.left + cxWidth + DAMAGE_ADJ_SPACING_X,
rcDrawRect.top,
iDamageType,
sDamageRef);
rcDrawRect.top += cyHeight;
// Paint additional reference in the line below
if (!sReference.IsBlank())
{
m_pFonts->Medium.DrawText(Dest,
rcDrawRect,
m_pFonts->wItemRef,
sReference,
0,
0,
&cyHeight);
rcDrawRect.top += cyHeight;
}
}
else if (Item.GetReferenceDamageAdj(m_pListData->GetSource(), 0, &iHP, iDamageAdj))
{
// Paint the initial text
sStat = strPatternSubst("Level %s — hp: %d ", strLevel(iLevel), iHP);
int cxWidth = m_pFonts->Medium.MeasureText(sStat, &cyHeight);
m_pFonts->Medium.DrawText(Dest,
rcDrawRect,
m_pFonts->wItemRef,
sStat,
0,
0,
&cyHeight);
// Paint the damage type array
m_pUIRes->DrawReferenceDamageAdj(Dest,
rcDrawRect.left + cxWidth + DAMAGE_ADJ_SPACING_X,
rcDrawRect.top,
iLevel,
iHP,
iDamageAdj);
rcDrawRect.top += cyHeight;
// Paint additional reference in the line below
if (!sReference.IsBlank())
{
m_pFonts->Medium.DrawText(Dest,
rcDrawRect,
m_pFonts->wItemRef,
sReference,