blob: 64da8e7d0a379db9e559a9e957c3eb0ad85f0e05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#pragma once
#include <raylib.h>
#include <stdint.h>
#include "constants.h"
#define ENTITY_ALLOCATED 1
#define ENTITY_VISIBLE (1 << 1)
#define ENTITY_PHYSICS_ACTIVE (1 << 2)
typedef enum EntityType {
Player_Entity,
Wall_Entity
} EntityType;
typedef struct Entity {
int id;
EntityType type;
uint16_t flags;
Vector2 position;
Vector2 velocity;
//Physics information
Rectangle physicsCollider;
int numHitBoxes;
Rectangle hitBoxes[MAX_AREA_COUNT];
int numHurtBoxes;
Rectangle hurtBoxes[MAX_AREA_COUNT];
#ifdef BEATEMUP_DEBUG
//Debug information
Color physicsColliderColor;
#endif
} Entity;
typedef struct Game {
bool paused;
Entity entities[MAX_ENTITY_COUNT];
Texture2D background;
float backgroundPosition;
} Game;
void AddEntity(Entity* e);
void AddWall(float xpos, float ypos, float width, float height);
void InitGame();
void UpdateGame(float deltaTime);
void DrawGame();
|