blob: df1e29e872fd05c34fb1ac8055301d24450054ca (
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
|
#include "barrel.h"
#include "barrel_data.h"
#include "utils.h"
#include "assets.h"
void AddBarrel(float xpos, float ypos) {
Entity barrel = {0};
barrel.type = Barrel_Entity;
barrel.position = (Vector2) {xpos, ypos};
barrel.flags |= (ENTITY_PHYSICS_ACTIVE | ENTITY_VISIBLE);
Asset* barrelTexture = GetMatchingAssetExitOnFail("barrel", Texture_Asset);
Sprite barrelSprite = (Sprite) {
.texture = barrelTexture->texture,
.layer = Foreground_Layer,
.destRect = destRect,
.srcRect = {
.x = 0,
.y = 0,
.width = barrelTexture->texture.width / 2,
.height = barrelTexture->texture.height
}
};
AddSpriteToEntity(&barrel, barrelSprite);
barrel.physicsCollider = physicsCollider;
barrel.hurtBoxes[0] = physicsCollider;
barrel.numHurtBoxes = 1;
#ifdef BEATEMUP_DEBUG
barrel.physicsColliderColor = RED;
barrel.hurtboxColors[0] = BLUE;
#endif
AddEntity(&barrel);
}
void UpdateBarrel(float dt) {
UNUSED(dt);
}
void BarrelHandleCollision(Entity* barrel) {
barrel->flags &= !ENTITY_ALLOCATED;
}
|