mirror of
https://github.com/andrewchilicki/LumonMDR.git
synced 2025-07-01 18:17:27 -04:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
struct BadGroup
|
|
{
|
|
BadGroup(int id, std::vector<int> numberIds, int binIdx) : id(id), numberIds(std::move(numberIds)), binIdx(binIdx) {}
|
|
|
|
int id;
|
|
std::vector<int> numberIds;
|
|
|
|
bool isActive = false;
|
|
bool superActive = false;
|
|
double scale = 0;
|
|
bool reachedMax = false;
|
|
|
|
int binIdx = 0;
|
|
bool refined = false;
|
|
};
|
|
|
|
using BadGroupPtr = std::shared_ptr<BadGroup>;
|
|
|
|
struct NumberDisplayInfos
|
|
{
|
|
explicit NumberDisplayInfos(bool horizontalOffset) : horizontalOffset(horizontalOffset) {}
|
|
|
|
bool horizontalOffset;
|
|
float centerX = -1.f, centerY = -1.f;
|
|
float refinedX = -1.f, refinedY = -1.f;
|
|
bool isVisible = false;
|
|
};
|
|
|
|
struct Number
|
|
{
|
|
Number(int id, int gridX, int gridY, int num, bool horizontalOffset) : id(id), gridX(gridX), gridY(gridY), num(num), displayInfos(NumberDisplayInfos(horizontalOffset)) {}
|
|
|
|
int id;
|
|
int gridX, gridY;
|
|
int num;
|
|
NumberDisplayInfos displayInfos;
|
|
|
|
BadGroupPtr badGroup = nullptr;
|
|
|
|
float regenerateScale = 0.f;
|
|
};
|
|
|
|
using NumberPtr = std::shared_ptr<Number>; |