Implement tile-targeted road route construction and OpenGL 3D layered road rendering
This commit is contained in:
@@ -4,6 +4,24 @@
|
||||
#include <QString>
|
||||
#include <QMap>
|
||||
#include <QColor>
|
||||
#include <QVector3D>
|
||||
|
||||
struct TileRoad {
|
||||
QString roadTypeId = "dirt"; // "dirt", "stone", "rail"
|
||||
int tileX = 0;
|
||||
int tileY = 0;
|
||||
int playerId = 1;
|
||||
unsigned char connectionMask = 0; // 6 bits: bit e (0..5) is 1 if connected to neighbor across edge e
|
||||
QVector3D worldPos;
|
||||
|
||||
bool hasConnection(int edge) const {
|
||||
return (connectionMask & (1 << (edge % 6))) != 0;
|
||||
}
|
||||
void setConnection(int edge, bool connected) {
|
||||
if (connected) connectionMask |= (1 << (edge % 6));
|
||||
else connectionMask &= ~(1 << (edge % 6));
|
||||
}
|
||||
};
|
||||
|
||||
struct RoadTypeConfig {
|
||||
QString id = "dirt";
|
||||
|
||||
Reference in New Issue
Block a user