2018-01-24 21:14:34 +01:00
|
|
|
#ifndef ITEM_H_
|
|
|
|
#define ITEM_H_
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
#include "sprite.h"
|
|
|
|
#include "position.h"
|
|
|
|
#include "player.h"
|
|
|
|
#include "camera.h"
|
2018-01-30 13:44:21 +01:00
|
|
|
#include "linkedlist.h"
|
2018-01-24 21:14:34 +01:00
|
|
|
|
|
|
|
typedef struct Item_t {
|
|
|
|
Sprite *sprite;
|
|
|
|
bool collected;
|
2018-01-25 10:45:05 +01:00
|
|
|
char label[50];
|
|
|
|
double value;
|
2018-01-30 13:44:21 +01:00
|
|
|
LinkedList *items;
|
2018-01-24 21:14:34 +01:00
|
|
|
void (*effect)(struct Item_t *, Player *);
|
|
|
|
} Item;
|
|
|
|
|
|
|
|
Item *
|
|
|
|
item_create(void);
|
|
|
|
|
2018-01-30 13:44:21 +01:00
|
|
|
void
|
|
|
|
item_collected(Item*, Player*);
|
|
|
|
|
2018-01-24 21:14:34 +01:00
|
|
|
void
|
|
|
|
item_render(Item*, Camera*);
|
|
|
|
|
|
|
|
void
|
|
|
|
item_destroy(Item*);
|
|
|
|
|
2018-01-25 10:45:05 +01:00
|
|
|
#endif // ITEM_H_
|