16:14 2006-7-11 傲神Bug 1645 在NPC处交易的物品价格显示不正确
[我的代码]
UIShortcutSlot.cpp中的 OnMouseOver添加
extern bool m_bProtState;
if(m_bProtState)
{
sprintf(buffer, " 买入价格: %d\n", Total_Price * 3);
}
else
{
sprintf(buffer, " 卖出价格: %d\n", Total_Price);
}
我在两个类里通过全局变量来中转,原始变量位置在
UIMovableImage.cpp中
在
void CUIMovableImage::OnMouseOver(const UIEVENT &event)
{
CUIMovableImage* mbProp = dynamic_cast<CUIMovableImage*>(Sim::findObject("UIWindow24"));
if(mbProp == this)
{
m_bPropState = true;
mbProp = NULL;
}
mbProp = dynamic_cast<CUIMovableImage*>(Sim::findObject("UIWindow07"));
if(mbProp == this)
{
m_bPropState = false;
mbProp = NULL;
}
}
[张总代码]
if(dynamic_cast<UIShopSlot*>(this))
{
sprintf(buffer, " 买入价格: %d\n", Total_Price * 3);
}
else
{
sprintf(buffer, " 卖出价格: %d\n", Total_Price);
}
[结论]
张总仅修改了一个地方,而我要同时修改三个地方。虽然实现同样的效果,
显示在利用现有代码利用率上,张总的更好。