+}
+
+void StateType::set_event(const std::string& value_name)
+{
+ events_.push_back(new StateEvent(get_issuer(), this, PajeEventType::SetState, get_entity_value(value_name), nullptr));
+}
+
+void StateType::push_event(const std::string& value_name, TIData* extra)
+{
+ events_.push_back(new StateEvent(get_issuer(), this, PajeEventType::PushState, get_entity_value(value_name), extra));
+}
+
+void StateType::push_event(const std::string& value_name)
+{
+ events_.push_back(
+ new StateEvent(get_issuer(), this, PajeEventType::PushState, get_entity_value(value_name), nullptr));
+}
+
+void StateType::pop_event()
+{
+ pop_event(nullptr);
+}
+
+void StateType::pop_event(TIData* extra)
+{
+ events_.push_back(new StateEvent(get_issuer(), this, PajeEventType::PopState, nullptr, extra));
+}