33 lines
784 B
C++
33 lines
784 B
C++
#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;
|
|
}; |