group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
AbilityRegistry.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include "Ability.hpp"
7
8#include <memory>
9#include <unordered_map>
10
12{
13public:
14 AbilityRegistry() = default;
15
16 void registerAbility(std::unique_ptr<Ability> ability);
17
19
20 bool hasAbility(AbilityType type) const;
21
22private:
23 std::unordered_map<AbilityType, std::unique_ptr<Ability>> abilities;
24};
AbilityType
Definition AbilityState.hpp:15
Defines the shared interface every ability implements.
AbilityRegistry()=default
std::unordered_map< AbilityType, std::unique_ptr< Ability > > abilities
Definition AbilityRegistry.hpp:23
void registerAbility(std::unique_ptr< Ability > ability)
Definition AbilityRegistry.cpp:6
bool hasAbility(AbilityType type) const
Definition AbilityRegistry.cpp:27
Ability * getAbility(AbilityType type)
Definition AbilityRegistry.cpp:16
Definition Ability.hpp:9