1 ////////////////////////////////////////////////////////////////////////////////
2 //            Copyright (C) 2004-2011 by The Allacrost Project
3 //            Copyright (C) 2012-2016 by Bertram (Valyria Tear)
4 //                         All Rights Reserved
5 //
6 // This code is licensed under the GNU GPL version 2. It is free software
7 // and you may modify it and/or redistribute it under the terms of this license.
8 // See http://www.gnu.org/copyleft/gpl.html for details.
9 ////////////////////////////////////////////////////////////////////////////////
10 
11 #include "global_event_group.h"
12 
13 #include "utils/utils_common.h"
14 
15 namespace vt_global {
16 
17 extern bool GLOBAL_DEBUG;
18 
AddNewEvent(const std::string & event_name,int32_t event_value)19 void GlobalEventGroup::AddNewEvent(const std::string &event_name, int32_t event_value)
20 {
21     if(DoesEventExist(event_name)) {
22         IF_PRINT_WARNING(GLOBAL_DEBUG) << "an event with the desired name \"" << event_name << "\" already existed in this group: "
23                                        << _group_name << std::endl;
24         return;
25     }
26     _events.insert(std::make_pair(event_name, event_value));
27 }
28 
GetEvent(const std::string & event_name)29 int32_t GlobalEventGroup::GetEvent(const std::string &event_name)
30 {
31     std::map<std::string, int32_t>::iterator event_iter = _events.find(event_name);
32     if(event_iter == _events.end()) {
33         IF_PRINT_WARNING(GLOBAL_DEBUG) << "an event with the specified name \"" << event_name << "\" did not exist in this group: "
34                                        << _group_name << std::endl;
35         return 0;
36     }
37     return event_iter->second;
38 }
39 
SetEvent(const std::string & event_name,int32_t event_value)40 void GlobalEventGroup::SetEvent(const std::string &event_name, int32_t event_value)
41 {
42     std::map<std::string, int32_t>::iterator event_iter = _events.find(event_name);
43     if(event_iter == _events.end()) {
44         AddNewEvent(event_name, event_value);
45         return;
46     }
47     event_iter->second = event_value;
48 }
49 
50 } // namespace vt_global
51