vengi/src/tests/testtraze/TrazeTypes.h

60 lines
820 B
C
Raw Normal View History

/**
* @file
*/
#pragma once
#include <vector>
2020-01-29 11:27:43 -08:00
#include "core/String.h"
#include <stdint.h>
#include <glm/vec2.hpp>
#include <glm/vec3.hpp>
#include <glm/vec4.hpp>
namespace traze {
struct GameInfo {
2020-01-29 11:36:55 -08:00
core::String name;
int activePlayers;
};
enum class BikeDirection {
N, S, W, E
};
2018-11-20 00:50:55 -08:00
using PlayerId = uint32_t;
using Score = std::vector<core::String>;
struct Spawn {
glm::ivec2 position;
bool own;
};
struct Bike {
2018-11-20 00:50:55 -08:00
PlayerId playerId;
glm::ivec2 currentLocation;
BikeDirection direction;
};
struct Player {
2020-01-29 11:36:55 -08:00
core::String name;
2018-11-20 00:50:55 -08:00
PlayerId id = 0u;
uint32_t frags = 0u;
uint32_t owned = 0u;
2018-11-20 00:50:55 -08:00
uint8_t colorIndex = 0u;
glm::vec4 color {0.0f};
};
enum class TickerType {
2018-12-14 10:48:58 -08:00
Frag, Suicide, Collision, Unknown
};
struct Ticker {
TickerType type = TickerType::Unknown;
int casualty;
2018-11-20 00:50:55 -08:00
PlayerId fragger;
};
}