Skip to content

Instantly share code, notes, and snippets.

@PoetaKodu
Created January 29, 2017 17:57
Show Gist options
  • Save PoetaKodu/50d38a77396fa65228e112e0ad30f86d to your computer and use it in GitHub Desktop.
Save PoetaKodu/50d38a77396fa65228e112e0ad30f86d to your computer and use it in GitHub Desktop.
class CLevel final
{
public:
/* Ułatwmy sobie życie typedefem. */
typedef std::vector<IActor *> TActorsV;
/* Konstruktor klasy poziomu.
*/
CLevel();
/* Destruktor klasy poziomu.
Dba o poprawne zwolnienie pozostałych zasobów
*/
~CLevel();
/* Dodaje aktora do poziomu.
Jeśli aktor pozostanie do czasu destrukcji obiektu poziomu
to automatycznie zostanie zniszczony przez jego destruktor.
Zwraca prawdę jeśli aktora jeszcze nie było w tym poziomie.
*/
bool Add(IActor *actor);
/* Usuwa aktora ze poziomu.
Nie zwalnia go z pamięci.
Zwraca prawdę jeśli aktor był w tym poziomie.
*/
bool Remove(IActor *actor);
/* Zwraca prawdę jeśli podany aktor jest juz w tym poziomie.
*/
bool Exists(IActor *actor) const;
/* Usuwa wszystkich aktorów ze sceny
i zwraca ich ilość przed usunięciem.
*/
std::size_t Cleanup();
/* Uaktualnia wszystkich aktorów z poziomu.
*/
void Update(const float &deltaTime);
/* Wyświetla wszystkich aktorów w tym poziomie.
*/
void Draw();
/* Zwraca ilość aktorów znajdujących się na tym levelu. */
inline std::size_t Count() const { return m_actors.size(); }
private:
TActorsV m_actors; // Aktorzy na scenie.
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment