Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "arena.hpp"
- #include "actor.hpp"
- using lulu::Arena, lulu::Actor;
- Actor::Actor(pair position, pair size, Arena *arena, const std::string &sprite = "")
- : _pos(position), _size(size), _arena(arena), _sprite(sprite)
- {
- if (_arena != nullptr)
- _arena->spawn(this);
- };
- void Actor::setArena(Arena *arena)
- {
- if (_arena == arena)
- return;
- if (_arena != nullptr)
- {
- Arena *oldArena = _arena;
- _arena = nullptr;
- oldArena->kill(this);
- }
- _arena = arena;
- if (arena != nullptr)
- _arena->spawn(this);
- }
- void Arena::spawn(Actor *actor)
- {
- actor->setArena(this);
- _actors.push_back(actor);
- }
- void Arena::kill(Actor *actor)
- {
- std::erase(_actors, actor);
- actor->setArena(nullptr);
- }
Advertisement
Comments
-
- t33n collection Cute
- https://ay.d-ld.net/9877809738
Add Comment
Please, Sign In to add comment
Advertisement