<commit_before>#pragma once
#include "message.h"
#include "utility/sorted_vector.h"

namespace messages {
	struct animate_message : public message {
		enum animation {
			MOVE,
			SHOT
		} animation_type;

		enum type {
			CONTINUE,
			START,
			PAUSE,
			STOP
		} message_type;

		bool preserve_state_if_animation_changes;
		bool change_animation;
		bool change_speed;
		float speed_factor;
		int animation_priority;

		animate_message() : change_speed(false), speed_factor(1.f), change_animation(false), preserve_state_if_animation_changes(false), animation_priority(0) {}
		animate_message(animation animation_type, type message_type, bool override_speed, float speed) 
			: animation_type(animation_type), message_type(message_type), change_speed(change_speed), speed_factor(speed_factor), animation_priority(0), preserve_state_if_animation_changes(false)
		{}
	};
}<commit_msg>direct set_animation option<commit_after>#pragma once
#include "message.h"
#include "utility/sorted_vector.h"

namespace resources {
	struct animation;
}

namespace messages {
	struct animate_message : public message {
		enum animation {
			MOVE,
			SHOT
		} animation_type;

		enum type {
			CONTINUE,
			START,
			PAUSE,
			STOP
		} message_type;

		bool preserve_state_if_animation_changes;
		bool change_animation;
		bool change_speed;
		float speed_factor;
		int animation_priority;

		/* if nullptr, will take animation_type as key for animation_subscribtion map in animate_component */
		resources::animation* set_animation;

		animate_message() : set_animation(nullptr), change_speed(false), speed_factor(1.f), change_animation(false), preserve_state_if_animation_changes(false), animation_priority(0) {}
		animate_message(animation animation_type, type message_type, bool override_speed, float speed) 
			: set_animation(nullptr), animation_type(animation_type), message_type(message_type), change_speed(change_speed), speed_factor(speed_factor), animation_priority(0), preserve_state_if_animation_changes(false)
		{}
	};
}
{'fraction_non_alphanumeric': 0.08738828202581926, 'fraction_numerical': 0.0029791459781529296, 'mean_word_length': 6.196428571428571, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2123003', 'n_tokens_mistral': 675, 'n_tokens_neox': 608, 'n_words': 130}