Initial commit
This commit is contained in:
190
inc/Exam_HelperStructs.h
Normal file
190
inc/Exam_HelperStructs.h
Normal file
@@ -0,0 +1,190 @@
|
||||
#pragma once
|
||||
#pragma region MISC
|
||||
#include <string>
|
||||
|
||||
struct SteeringPlugin_Output
|
||||
{
|
||||
Elite::Vector2 LinearVelocity = { 0.f,0.f };
|
||||
float AngularVelocity = 0.f;
|
||||
bool AutoOrient = true;
|
||||
bool RunMode = false;
|
||||
};
|
||||
|
||||
struct PluginInfo
|
||||
{
|
||||
std::string BotName = "NoName";
|
||||
std::string Student_Name = "John Cena";
|
||||
std::string Student_Class = "2DAE00";
|
||||
std::string LB_Password = "ABC123";
|
||||
};
|
||||
|
||||
struct GameDebugParams //Debuggin Purposes only (Ignored during release build)
|
||||
{
|
||||
GameDebugParams(bool spawnEnemies = true, int enemyCount = 20, bool godMode = false, bool autoFollowCam = false)
|
||||
{
|
||||
SpawnEnemies = spawnEnemies;
|
||||
GodMode = godMode;
|
||||
AutoFollowCam = autoFollowCam;
|
||||
EnemyCount = enemyCount;
|
||||
}
|
||||
|
||||
bool SpawnEnemies = true; //Spawn enemies?
|
||||
int EnemyCount = 20; //Amount of enemies?
|
||||
int ItemCount = 40; //Amount of items?
|
||||
bool GodMode = false; //Use GodMode? (Invincible)
|
||||
bool IgnoreEnergy = false; //Ignore energy depletion
|
||||
bool AutoFollowCam = false; //Auto follow the player
|
||||
bool RenderUI = false; //Render Player UI (Parameters)
|
||||
bool AutoGrabClosestItem = false; //Auto Grab closest item (Item_Grab)
|
||||
std::string LevelFile = "GameLevel.gppl"; //Level to load?
|
||||
int Seed = -1; //Seed for random generator
|
||||
int StartingDifficultyStage = 0; // Overwrites the difficulty stage
|
||||
bool InfiniteStamina = false; // Agent has infinite stamina
|
||||
bool SpawnDebugPistol = false; // Spawns pistol with 1000 ammo at start
|
||||
bool SpawnDebugShotgun = false; // Spawns shotgun with 1000 ammo at start
|
||||
bool SpawnPurgeZonesOnMiddleClick = false; // Middle mouse clicks spawn purge zones
|
||||
bool SpawnZombieOnRightClick = false; // Right mouse clicks spawn purge zones
|
||||
bool PrintDebugMessages = true;
|
||||
bool ShowDebugItemNames = true;
|
||||
};
|
||||
#pragma endregion
|
||||
|
||||
#pragma region ENTITIES
|
||||
//Enumerations
|
||||
//************
|
||||
enum class eEntityType
|
||||
{
|
||||
ITEM,
|
||||
ENEMY,
|
||||
PURGEZONE,
|
||||
|
||||
//@END
|
||||
_LAST = PURGEZONE
|
||||
};
|
||||
|
||||
enum class eItemType
|
||||
{
|
||||
PISTOL,
|
||||
SHOTGUN,
|
||||
MEDKIT,
|
||||
FOOD,
|
||||
GARBAGE,
|
||||
RANDOM_DROP, //Internal Only
|
||||
RANDOM_DROP_WITH_CHANCE, //Internal Only
|
||||
|
||||
//@END
|
||||
_LAST = GARBAGE
|
||||
};
|
||||
|
||||
enum class eEnemyType
|
||||
{
|
||||
DEFAULT,
|
||||
ZOMBIE_NORMAL,
|
||||
ZOMBIE_RUNNER,
|
||||
ZOMBIE_HEAVY,
|
||||
RANDOM_ENEMY, //Internal Only
|
||||
//...
|
||||
|
||||
//@END
|
||||
_LAST = ZOMBIE_HEAVY
|
||||
};
|
||||
|
||||
|
||||
//Structures
|
||||
//**********
|
||||
struct StatisticsInfo
|
||||
{
|
||||
int Score; //Current Score
|
||||
float Difficulty; //Current difficulty (0 > 1 > ... / Easy > Normal > Hard)
|
||||
float TimeSurvived; //Total time survived
|
||||
float KillCountdown; //Make sure to make a kill before this timer runs out
|
||||
|
||||
int NumEnemiesKilled; //Amount of enemies killed
|
||||
int NumEnemiesHit; //Amount of enemy hits
|
||||
int NumItemsPickUp; //Amount of items picked up
|
||||
int NumMissedShots; //Shots missed after firing
|
||||
int NumChkpntsReached; //Amount of checkpoints reached
|
||||
|
||||
};
|
||||
|
||||
struct FOVStats
|
||||
{
|
||||
int NumHouses;
|
||||
int NumEnemies;
|
||||
int NumItems;
|
||||
int NumPurgeZones;
|
||||
};
|
||||
|
||||
struct HouseInfo
|
||||
{
|
||||
Elite::Vector2 Center;
|
||||
Elite::Vector2 Size;
|
||||
};
|
||||
|
||||
struct EnemyInfo
|
||||
{
|
||||
eEnemyType Type;
|
||||
Elite::Vector2 Location;
|
||||
Elite::Vector2 LinearVelocity;
|
||||
|
||||
int EnemyHash = 0;
|
||||
float Size;
|
||||
float Health;
|
||||
};
|
||||
|
||||
struct ItemInfo
|
||||
{
|
||||
eItemType Type;
|
||||
Elite::Vector2 Location;
|
||||
|
||||
int ItemHash = 0;
|
||||
int Value = 0;
|
||||
};
|
||||
|
||||
struct PurgeZoneInfo
|
||||
{
|
||||
Elite::Vector2 Center;
|
||||
float Radius = 0.0f;
|
||||
|
||||
int ZoneHash = 0;
|
||||
};
|
||||
|
||||
struct EntityInfo
|
||||
{
|
||||
eEntityType Type;
|
||||
Elite::Vector2 Location;
|
||||
|
||||
int EntityHash = 0;
|
||||
};
|
||||
|
||||
struct WorldInfo
|
||||
{
|
||||
Elite::Vector2 Center;
|
||||
Elite::Vector2 Dimensions;
|
||||
};
|
||||
|
||||
struct AgentInfo
|
||||
{
|
||||
float Stamina;
|
||||
float Health;
|
||||
float Energy;
|
||||
bool RunMode;
|
||||
bool IsInHouse;
|
||||
bool Bitten; // agent was bitten by a zombie this frame (for internal use)
|
||||
bool WasBitten; // agent was bitten by a zombie recently (0.5 seconds)
|
||||
bool Death;
|
||||
|
||||
float FOV_Angle;
|
||||
float FOV_Range;
|
||||
|
||||
Elite::Vector2 LinearVelocity;
|
||||
float AngularVelocity;
|
||||
float CurrentLinearSpeed;
|
||||
Elite::Vector2 Position;
|
||||
float Orientation;
|
||||
float MaxLinearSpeed;
|
||||
float MaxAngularSpeed;
|
||||
float GrabRange;
|
||||
float AgentSize;
|
||||
};
|
||||
#pragma endregion
|
||||
Reference in New Issue
Block a user