@@ -7,31 +7,31 @@ CombatPublisher::CombatPublisher()
77{
88 for (int i = 0 ; i < static_cast <int >(CombatantEvent::COUNT); ++i)
99 {
10- combat_event_subscribers[static_cast <CombatantEvent>(i)] = std::vector<const SkillGrouping& >();
10+ combat_event_subscribers[static_cast <CombatantEvent>(i)] = std::vector<const Skill* >();
1111 }
1212}
1313
14- bool CombatPublisher::subToEvent (const SkillGrouping& new_skill_grouping )
14+ bool CombatPublisher::subToEvent (const Skill* skill )
1515{
16- CombatantEvent event = new_skill_grouping. getDependentEvent ();
17- std::vector<const SkillGrouping& >& current_groupings = combat_event_subscribers[event];
16+ CombatantEvent event = skill-> getSkillDependent ();
17+ std::vector<const Skill* >& current_skills = combat_event_subscribers[event];
1818
19- for (const SkillGrouping& skill_grouping : current_groupings )
19+ for (const auto skill : current_skills )
2020 {
2121 // equivalence logic, return false if is in already
2222 }
2323
24- current_groupings .push_back (new_skill_grouping );
24+ current_skills .push_back (skill );
2525
2626 return true ;
2727}
2828
29- bool CombatPublisher::unsubToEvent (const SkillGrouping& remove_skill_grouping )
29+ bool CombatPublisher::unsubToEvent (const Skill* skill )
3030{
31- CombatantEvent event = remove_skill_grouping. getDependentEvent ();
32- std::vector<const SkillGrouping& >& current_groupings = combat_event_subscribers[event];
31+ CombatantEvent event = skill-> getSkillDependent ();
32+ std::vector<const Skill* >& current_skills = combat_event_subscribers[event];
3333
34- for (const SkillGrouping& skill_grouping : current_groupings )
34+ for (const Skill* skill : current_skills )
3535 {
3636 // equivalent logic, erase and return true if already in
3737 }
@@ -42,14 +42,14 @@ bool CombatPublisher::unsubToEvent(const SkillGrouping& remove_skill_grouping)
4242
4343void CombatPublisher::publishEvent (const CombatantEvent event, Combatant& self, Combatant& target, NumberGenerator& number_generator) const
4444{
45- const std::vector<const SkillGrouping& >& skills = combat_event_subscribers.at (event);
46- for (const Skill& skill : skills)
45+ const std::vector<const Skill* >& skills = combat_event_subscribers.at (event);
46+ for (const Skill* skill : skills)
4747 {
48- skill. onDependent (self, target, number_generator);
48+ skill-> onDependent (self, target, number_generator);
4949 }
5050}
5151
52- void CombatPublisher::addSkillGrouping (std::unique_ptr<SkillGrouping> skill_grouping )
52+ void CombatPublisher::addSkill ( const Skill* skill )
5353{
54- owned_skill_groupings. push_back ( std::move (skill_grouping) );
55- }
54+ subToEvent (skill );
55+ }
0 commit comments