#include "utils.h" // Pretty much any object in the game. #ifndef ENTITY_H #define ENTITY_H #define ENTITY_COUNT 12 #define TREE_SCALE 40.0 #define BUSH_SCALE 3.0 #define FLOWER_SCALE 3.0 #define POND_SIZE 250.0 #define POND_HEIGHT 10.0 #define UTILITY_POLE_HEIGHT 100.0 #define UTILITY_POLE_RADIUS 3.0 #define SAMANTHA_WIDTH 2.65966 / 2.0 #define SAMANTHA_HEIGHT 3.21054 / 2.0 #define SAMANTHA_THICKNESS 1.46845 / 2.0 #define SAMANTHA_STATIC_SPEED 24 #define SAMANTHA_STATIC_FRAMES 4 #define SAMANTHAS_SPOT_SIZE 10 #define SAMANTHAS_SPOT_HEIGHT 5 #define TRASHCAN_SCALE 2.0 #define TRASHCAN_FRAMES 4 #define TRASHCAN_ANIMATION_SPEED 6 #define TRASHCAN_WIDTH 45.0 #define TRASHCAN_HEIGHT 60.0 #define TRASH_SCALE 2.0 #define MEDICAL_TRASH_SCALE 2.0 typedef int8_t EntityId; enum { ENTITY_NONE = -1, OLD_MINT, STICKY_NICKEL, TREE, BUSH, FLOWER, POND, UTILITY_POLE, SAMANTHA, SAMANTHAS_SPOT, TRASHCAN, TRASH, MEDICAL_TRASH }; typedef struct { EntityId id; Vector3 position; // Shouldnt be changed directly. BoundingBox box; } Entity; Entity createEntity(EntityId id, Vector3 position); void updateEntity(Entity* entity, Game* game); void setEntityPosition(Entity* entity, Vector3 position); void placeEntityOnGround(Entity* entity, const World* world); #endif