float Letter::compare(Letter to_compare) { float score = 0; int no_points = 0; for (int x = 0; x < SIZE; x++) for (int y = 0; y < SIZE; y++) if (pattern[x][y] == true) score += compare_slots(x, y, to_compare), ++no_points; return score/no_points; }
//------------------------------------------------------------------------ bool CInventory::AddItem(EntityId id) { if (FindItem(id)>-1) return true; if (m_stats.slots.size() >= gEnv->pConsole->GetCVar("i_inventory_capacity")->GetIVal()) return false; AddItemToCategorySlot(id); m_stats.slots.push_back(id); std::sort(m_stats.slots.begin(), m_stats.slots.end(), compare_slots()); TListenerVec::iterator iter = m_listeners.begin(); m_iteratingListeners = true; while (iter != m_listeners.end()) { (*iter)->OnAddItem(id); ++iter; } m_iteratingListeners = false; return true; }