bool EntityEffects::CHeatController::Update( const float frameTime ) { CRY_ASSERT(m_ownerEntity); bool thermalVisionOn = false; if (thermalVisionOn != m_thermalVisionOn) { m_thermalVisionOn = thermalVisionOn; SetThermalVisionParams(m_thermalVisionOn ? m_baseHeat : 0.0f); } const bool heatPulseRunning = (m_heatPulse.baseTime > 0.0f); const bool coolingDown = (m_coolDownHeat >= 0.0f); const bool requiresUpdate = heatPulseRunning || coolingDown; if (!requiresUpdate) return false; const float entityHeat = coolingDown ? UpdateCoolDown(frameTime) : UpdateHeat(frameTime); if (thermalVisionOn) { SetThermalVisionParams(entityHeat); } return true; }
VOID CActionItem::AddReference(tActionReference* pRef,BOOL bIsInMenuToolbar) { //如果没有,加入 if(m_setReference.find(pRef) == m_setReference.end()) { m_setReference.insert(pRef); } //刷新Check信息 pRef->SetCheck(m_bChecked); pRef->SetDefault(CActionSystem::GetMe()->GetDefaultAction() == this); switch(GetType()) { case AOT_ITEM: { //物品的每组的个数显示在右下角 tObject_Item* pItem = (tObject_Item*)GetImpl(); if( pItem->GetTypeOwner() == tObject_Item::IO_BOOTH ||pItem->GetTypeOwner() == tObject_Item::IO_BOOTH_CALLBACK ||pItem->GetTypeOwner() == tObject_Item::IO_CITY_SHOP) { INT nGroupNumber = GetNum(); if(nGroupNumber > 1) { CHAR szTemp[32]; _snprintf(szTemp, 32, "%d", nGroupNumber); pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, szTemp); } else { pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, ""); } //有限物品的最大数量显示在左上角 INT nMaxNumber = pItem->GetMax(); if(nMaxNumber > 1) { CHAR szTemp[32]; _snprintf(szTemp, 32, "%d", nMaxNumber); pRef->Enable(); pRef->SetCornerChar(tActionReference::ANP_TOPLEFT, szTemp); } else if(nMaxNumber == 0) { pRef->Disable(); pRef->SetCornerChar(tActionReference::ANP_TOPLEFT, ""); } else { pRef->Enable(); pRef->SetCornerChar(tActionReference::ANP_TOPLEFT, ""); } } else if( pItem->GetTypeOwner() == tObject_Item::IO_MYSELF_PACKET || pItem->GetTypeOwner() == tObject_Item::IO_MYSELF_BANK || pItem->GetTypeOwner() == tObject_Item::IO_MYEXBOX || pItem->GetTypeOwner() == tObject_Item::IO_OTHEREXBOX || pItem->GetTypeOwner() == tObject_Item::IO_MISSIONBOX || pItem->GetTypeOwner() == tObject_Item::IO_MYSTALLBOX || pItem->GetTypeOwner() == tObject_Item::IO_OTSTALLBOX || pItem->GetTypeOwner() == tObject_Item::IO_QUESTVIRTUALITEM || pItem->GetTypeOwner() == tObject_Item::IO_ITEMBOX || pItem->GetTypeOwner() == tObject_Item::IO_PS_SELFBOX || pItem->GetTypeOwner() == tObject_Item::IO_PS_OTHERBOX ) { INT nGroupNumber = GetNum(); //AxTrace(0, 0, "%s:GroupNumber=%d", pItem->GetName(), nGroupNumber); if(bIsInMenuToolbar == TRUE) { CHAR szTemp[32]; _snprintf(szTemp, 32, "%d", CDataPool::GetMe()->UserBag_CountItemByIDTable(pItem->GetIdTable())); pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, szTemp); } else if(nGroupNumber > 1) { CHAR szTemp[32]; _snprintf(szTemp, 32, "%d", nGroupNumber); pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, szTemp); } else { pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, ""); } } } break; default: pRef->SetCornerChar(tActionReference::ANP_BOTRIGHT, ""); break; } UpdateCoolDown(); }