Я пересоздал репозиторий из-за большого количества мусора в прошлом

This commit is contained in:
Jiga228
2025-09-14 15:00:44 +07:00
commit 78a25b305b
74 changed files with 3428 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
#include "Vector.h"
#include "Game/SaveMap/SaveMap.h"
Vector2D::Vector2D(const double x, const double y) : x(x), y(y)
{}
Vector2D::Vector2D(const Vector3D& vec3D) : x(vec3D.x), y(vec3D.y)
{}
Vector2D Vector2D::operator+(const Vector2D& v) const
{
return Vector2D{ x + v.x, y + v.y };
}
Vector2D Vector2D::operator-(const Vector2D& v) const
{
return Vector2D{ x - v.x, y - v.y };
}
std::shared_ptr<SaveMap> Vector2D::save()
{
std::unique_ptr<SaveMap> save = std::make_unique<SaveMap>("Vector2D");
save->SaveDouble("x", x)->SaveDouble("y", y);
return save;
}
void Vector2D::load(std::shared_ptr<SaveMap> save)
{
x = save->GetDouble("x");
y = save->GetDouble("y");
}
Vector3D::Vector3D(const double x, const double y, const double z) : x(x), y(y), z(z)
{}
Vector3D::Vector3D(const Vector2D& vec2D) : x(vec2D.x), y(vec2D.y)
{}
Vector3D Vector3D::operator+(const Vector3D& v) const
{
return Vector3D{x + v.x, y + v.y, z + v.z};
}
Vector3D Vector3D::operator-(const Vector3D& v) const
{
return Vector3D{ x - v.x, y - v.y, z - v.z };
}
std::shared_ptr<SaveMap> Vector3D::save()
{
std::unique_ptr<SaveMap> save = std::make_unique<SaveMap>("Vector3D");
save->SaveDouble("x", x)->SaveDouble("y", y)->SaveDouble("z", z);
return save;
}
void Vector3D::load(std::shared_ptr<SaveMap> save)
{
x = save->GetDouble("x");
y = save->GetDouble("y");
z = save->GetDouble("z");
}
+33
View File
@@ -0,0 +1,33 @@
#pragma once
#include "Game/SaveMap/ISave.h"
struct Vector3D;
struct Vector2D : public ISave {
double x = 0, y = 0;
Vector2D() = default;
Vector2D(const double x, const double y);
Vector2D(const Vector3D& vec3D);
Vector2D operator+(const Vector2D& v) const;
Vector2D operator-(const Vector2D& v) const;
std::shared_ptr<SaveMap> save() override;
void load(std::shared_ptr<SaveMap> save) override;
};
struct Vector3D : public ISave {
double x = 0, y = 0, z = 0;
Vector3D() = default;
Vector3D(const double x, const double y, const double z);
Vector3D(const Vector2D& vec2D);
Vector3D operator+(const Vector3D& v) const;
Vector3D operator-(const Vector3D& v) const;
std::shared_ptr<SaveMap> save() override;
void load(std::shared_ptr<SaveMap> save) override;
};