00001 #ifndef SKILLS_HXX_ 00002 # define SKILLS_HXX_ 00003 00004 namespace objects 00005 { 00006 inline const Skills::SkillLevelMap &Skills::get_skill_levels() const 00007 { 00008 return _skill_levels; 00009 } 00010 00011 inline int Skills::get_skill_level(int skill_id) const 00012 { 00013 SkillLevelMap::const_iterator it = 00014 _skill_levels.find(skill_id); 00015 00016 if (it == _skill_levels.end()) 00017 return 0; 00018 return it->second; 00019 } 00020 00021 inline void Skills::set_skill_level(int skill_id, int l) 00022 { 00023 SkillLevelMap::iterator it = 00024 _skill_levels.find(skill_id); 00025 00026 if (l == 0 && it == _skill_levels.end()) 00027 return; 00028 00029 // TODO: Detect when we wanna remove a skill 00030 00031 if (it == _skill_levels.end()) 00032 _skill_levels.insert(SkillLevelMap::value_type(skill_id, l)); 00033 else 00034 it->second = l; 00035 } 00036 } 00037 00038 #endif