本文整理汇总了C++中ObjectBase::drawPrev方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectBase::drawPrev方法的具体用法?C++ ObjectBase::drawPrev怎么用?C++ ObjectBase::drawPrev使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectBase
的用法示例。
在下文中一共展示了ObjectBase::drawPrev方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UnLink
//=============================================================================
// リンク解除
//=============================================================================
void DrawList::UnLink(ObjectBase* object)
{
// 存在チェック
if(object->drawList(m_shaderPatternId) == nullptr)
return;
ObjectBase* prev = object->drawPrev(m_shaderPatternId);
ObjectBase* next = object->drawNext(m_shaderPatternId);
int priority = object->priority(m_shaderPatternId);
//----------------------------
// 前オブジェクトの再設定
//----------------------------
object->drawPrev(m_shaderPatternId, nullptr);
if(prev != nullptr)
{
// 前オブジェクトに次オブジェクトを連結
prev->drawNext(m_shaderPatternId, next);
}
else
{
// 先頭オブジェクトを変更
m_top[priority] = next;
if(m_top[priority] != nullptr)
// 先頭の前をnullptrに
m_top[priority]->drawPrev(m_shaderPatternId, nullptr);
}
//----------------------------
// 次オブジェクトの再設定
//----------------------------
object->drawNext(m_shaderPatternId, nullptr);
if(next != nullptr)
{
// 次オブジェクトに前オブジェクトを連結
next->drawPrev(m_shaderPatternId, prev);
}
else
{
// 終端オブジェクトを変更
m_end[priority] = prev;
if(m_end[priority] != nullptr)
// 終端をnullptrに
m_end[priority]->drawNext(m_shaderPatternId, nullptr);
}
//----------------------------
// 描画リストを解除
//----------------------------
object->drawList(nullptr, m_shaderPatternId);
}