-/*
- * HeroGroup.h
- *
- * Created on: Aug 10, 2012
- * Author: holy
- */
-
-#ifndef COMMON_HEROGROUP_H_
-#define COMMON_HEROGROUP_H_
-
-#include <SDL.h>
-
-namespace common {
-
-class HeroGroup {
-
-public:
- HeroGroup() : members(NOBODY) { }
-
-public:
- bool HasMaxim() const { return members & MAXIM; }
- bool HasSelan() const { return members & SELAN; }
- bool HasGuy() const { return members & GUY; }
- bool HasArtea() const { return members & ARTEA; }
- bool HasTia() const { return members & TIA; }
- bool HasDekar() const { return members & DEKAR; }
- bool HasLexis() const { return members & LEXIS; }
-
- void AddMaxim() { members |= MAXIM; }
- void AddSelan() { members |= SELAN; }
- void AddGuy() { members |= GUY; }
- void AddArtea() { members |= ARTEA; }
- void AddTia() { members |= TIA; }
- void AddDekar() { members |= DEKAR; }
- void AddLexis() { members |= LEXIS; }
- void AddAll() { members = (MAXIM | SELAN | GUY | ARTEA | TIA | DEKAR | LEXIS); }
-
- void RemoveMaxim() { members &= ~MAXIM; }
- void RemoveSelan() { members &= ~SELAN; }
- void RemoveGuy() { members &= ~GUY; }
- void RemoveArtea() { members &= ~ARTEA; }
- void RemoveTia() { members &= ~TIA; }
- void RemoveDekar() { members &= ~DEKAR; }
- void RemoveLexis() { members &= ~LEXIS; }
- void RemoveAll() { members = NOBODY; }
-
-public:
- enum {
- NOBODY = 0,
- MAXIM = 1,
- SELAN = 2,
- GUY = 4,
- ARTEA = 8,
- TIA = 16,
- DEKAR = 32,
- LEXIS = 64,
- };
- Uint8 members;
-
-};
-
-}
-
-#endif /* COMMON_HEROGROUP_H_ */