Nimbin2git.christianimmanuel.de / Games / Entropie / object.h

Entropie git · main

git clone https://git.christianimmanuel.de/games/Entropie.gitwget https://git.christianimmanuel.de/games/Entropie/archive/Entropie.tar.gz
object.h 616 B · 32 lines raw
#ifndef OBJECT_H
#define OBJECT_H

#include "camera.h"

typedef enum {
    Object_Undefined,
    Object_Tile,
    Object_Character,
    Object_Collectable,
} ObjectType;


typedef struct Object_s {
    struct Object_s* prev,* next;
    ObjectType parent_type;
    void*      parent;
    float  x, y;
    float  w, h;
} Object;


void object_log(const Object* obj);

Object* Object_create ();
Object* Object_create_pos(float x, float y, float w, float h);

char Object_is_visible(Object* obj, Camera* camera);
Object* Object_add    (Object* reference, Object* obj_new);
void    Objects_free  (Object* first);

#endif