Files
StorytellersBestFriend/sbf-cpp/Derangements.cpp
Tom Hicks 5e57ac277d Configures clang-format and clangd.
Runs clang-format on all c++ files.
2023-04-21 21:57:29 -07:00

40 lines
1.3 KiB
C++

#include "Derangements.h"
#include <ostream>
#include <sstream>
namespace SBF {
using std::ostream;
bool operator==(const DerangementType& left, const DerangementType& right) {
return left.description == right.description && left.id == right.id && left.label == right.label
&& left.textColor == right.textColor;
}
bool operator!=(const DerangementType& left, const DerangementType& right) {
return !(left == right);
}
ostream& operator<<(ostream& os, const DerangementType& derangement) {
// Derangement: {id: 1, label: \"kDerangementAmnesiaLabel\", description: \"kDerangementAmnesiaDescription\",
// textColor: kDerangementAmnesiaTextColor}
os << "Derangement: {id: " << derangement.id << ", label: \"" << derangement.label << "\", description: \""
<< derangement.description << "\", textColor: " << (int)derangement.textColor << "}";
return os;
}
DerangementType GetDerangement(int derangementId) {
if (derangementId > 0 && derangementId <= kDerangementsCount) {
return kDerangements[derangementId];
}
return {};
}
void FillDerangements(std::vector<DerangementType>& derangements) {
derangements.clear();
for (int id = 1; id <= kDerangementsCount; id++) {
derangements.push_back(GetDerangement(id));
}
}
} // End namespace SBF