feat[prep]: event prohibits and allows other actions

This commit is contained in:
Jorens Shtekels 2024-03-10 19:28:46 +02:00
parent 505cf1ec10
commit faf6d64ce0
2 changed files with 49 additions and 3 deletions

View File

@ -33,10 +33,42 @@ Room::Room(uint32_t id, std::string title, uint32_t utcTimestampCreatedAt, RoomS
this->utcTimestampCreatedAt = createUTCTimestamp(utcTimestampCreatedAt);
}
Event::Event(std::string title, uint32_t utcTimestampCreatedAt, uint32_t numberNight, bool isVisible):
Event::Event(std::string title,
uint32_t utcTimestampCreatedAt,
uint32_t numberNight,
bool isVisible,
std::vector<Action> causedBy,
std::vector<Action> prohibits,
std::vector<Action> allows):
title(title),
utcTimestampCreatedAt(createUTCTimestamp(utcTimestampCreatedAt)),
numberNight(numberNight),
isVisible(isVisible) {
this->utcTimestampCreatedAt = createUTCTimestamp(utcTimestampCreatedAt);
for (auto &a : causedBy) {
this->causedBy.push_back(a);
}
for (auto &a : prohibits) {
this->prohibits.push_back(a);
}
for (auto &a : allows) {
this->allows.push_back(a);
}
}
Event::Event(std::string title,
uint32_t utcTimestampCreatedAt,
uint32_t numberNight,
bool isVisible,
std::initializer_list<Action> causedBy,
std::initializer_list<Action> prohibits,
std::initializer_list<Action> allows):
Event(title,
utcTimestampCreatedAt,
numberNight,
isVisible,
std::vector<Action>(causedBy),
std::vector<Action>(prohibits),
std::vector<Action>(allows)) {
this->utcTimestampCreatedAt = createUTCTimestamp(utcTimestampCreatedAt);
}

View File

@ -75,9 +75,23 @@ struct Event {
uint32_t numberNight;
bool isVisible;
std::vector<Action> causedBy;
std::vector<Action> influenced;
std::vector<Action> prohibits;
std::vector<Action> allows;
Event(std::string title, uint32_t utcTimestampCreatedAt, uint32_t numberNight, bool isVisible);
Event(std::string title,
uint32_t utcTimestampCreatedAt,
uint32_t numberNight,
bool isVisible,
std::vector<Action> causedBy,
std::vector<Action> prohibits,
std::vector<Action> allows);
Event(std::string title,
uint32_t utcTimestampCreatedAt,
uint32_t numberNight,
bool isVisible,
std::initializer_list<Action> causedBy,
std::initializer_list<Action> prohibits,
std::initializer_list<Action> allows);
};
#endif