#ifndef LIST_H_ #define LIST_H_ #include "../sprite.h" #include "../IsometricMap/isometricMap.h" #include "raylib.h" #include "../game.h" typedef struct Node Node; typedef struct List List; typedef struct List { Node *head; Node *tail; } List; typedef struct Node { Sprite *data; Node *next; Node *prev; } Node; //Only for internal purpose Node * ListCreateNode(Sprite *data); //Print the list in order void ListPrintForward(List *list); void ListInsertBefore(List *list, Node *new, Node *current); void ListInsertAfter(List *list, Node *new, Node *current); void ListInsert(List *list, Sprite *data); void ListRemove(List *list, Node *remove); void ListSpriteChanged(List *list, Node *changed); List * ListInit(); void ListDrawAllSprites(List *list, IsometricMap **map, Camera2D *camera); void ListActAllSprites(Game *game); #endif