Use the new tree-based registration system in the mover.
This commit is contained in:
parent
61f0c28983
commit
9c660caec6
7 changed files with 45 additions and 16 deletions
|
@ -30,4 +30,13 @@ namespace cloonel {
|
|||
UpdateSingle(currPlaceable);
|
||||
}
|
||||
}
|
||||
|
||||
///--------------------------------------------------------------------------
|
||||
///--------------------------------------------------------------------------
|
||||
Mover::PlaceableTicketType Mover::RegisterPlaceable (Placeable* parPlaceable, PlaceableTicketType parTicket) {
|
||||
assert(parPlaceable);
|
||||
const auto currTicket = m_placeables.Add(parPlaceable, parTicket);
|
||||
parPlaceable->OnRegister(*this, currTicket);
|
||||
return currTicket;
|
||||
}
|
||||
} //namespace cloonel
|
||||
|
|
|
@ -30,11 +30,15 @@ namespace cloonel {
|
|||
public:
|
||||
typedef ObserversManager<Placeable*>::TicketType PlaceableTicketType;
|
||||
|
||||
enum {
|
||||
NullTicket = ObserversManager<Placeable*>::Ticket_Null
|
||||
};
|
||||
|
||||
Mover ( void ) = default;
|
||||
virtual ~Mover ( void ) noexcept = default;
|
||||
|
||||
virtual void Update ( float parDelta );
|
||||
PlaceableTicketType RegisterPlaceable ( Placeable* parPlaceable ) { return m_placeables.Add(parPlaceable); }
|
||||
PlaceableTicketType RegisterPlaceable ( Placeable* parPlaceable, PlaceableTicketType parParent=ObserversManager<Placeable*>::Ticket_Null );
|
||||
void UnregisterPlaceable ( PlaceableTicketType parID ) noexcept { m_placeables.Remove(parID); }
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue