<commit_before>#pragma once
#include "ECS/Component.h"
#include <string>

namespace Moonlight
{
	class Shader;
}

class Model : public Component<Model>
{
	friend class RenderCore;
public:
	Model(const std::string& path);
	~Model();

	// Separate init from construction code.
	virtual void Init() final;

	std::shared_ptr<ModelResource> ModelHandle = nullptr;
	Moonlight::Shader* ModelShader = nullptr;

	unsigned int GetId();
private:
	FilePath ModelPath;
	unsigned int Id;
};<commit_msg>💃 Added Model debug stuff<commit_after>#pragma once
#include "ECS/Component.h"
#include <string>
#include "imgui.h"

namespace Moonlight
{
	class Shader;
}

class Model : public Component<Model>
{
	friend class RenderCore;
public:
	Model(const std::string& path);
	~Model();

	// Separate init from construction code.
	virtual void Init() final;

	std::shared_ptr<ModelResource> ModelHandle = nullptr;
	Moonlight::Shader* ModelShader = nullptr;

	unsigned int GetId();
private:
	FilePath ModelPath;
	unsigned int Id;

#if ME_EDITOR

	virtual void OnEditorInspect() final
	{
		ImGui::Text("Model ID: ");
		ImGui::SameLine();
		ImGui::Text(std::to_string(Id).c_str());

		ImGui::Text("Path:");
		ImGui::SameLine();
		ImGui::Text(ModelPath.LocalPath.c_str());
	}

#endif
};
{'fraction_non_alphanumeric': 0.13513513513513514, 'fraction_numerical': 0.0, 'mean_word_length': 5.456410256410257, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, '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': '6418599', 'n_tokens_mistral': 439, 'n_tokens_neox': 422, 'n_words': 112}