summaryrefslogtreecommitdiffhomepage
path: root/src/enemies.h
blob: d8e3c8f7ff9577ea0710c20d9c1de9fd25ef6a66 (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
53
54
#pragma once
#include "rodeo/collision.h"
#include "rodeo.h"

typedef
struct
{
    float hp;
    world_id id;
} enemy_t;

#define i_val enemy_t
#define i_opt c_no_cmp
#include "stc/cvec.h"


void
init_enemies(void);

void
deinit_enemies(void);

enemy_t*
spawn_enemy(
    float x,
    float y
);

void
draw_enemies(void);

void
move_enemies(void);

enemy_t*
get_enemy_by_id(
    world_id id
);

rodeo_collision_2d_world_t *
get_enemies_world(void);

cvec_enemy_t
get_enemies_cvec(void);

void enemy_destroy(
	cvec_enemy_t_value* enemy 
);

void
detect_bullet_enemy_collisions(void);

void
group_follow_target(rodeo_collision_2d_world_item_t *target);