aboutsummaryrefslogtreecommitdiff
path: root/src/actor_manager.h
blob: 900c57c98bc50256211ca6658629ea4b98722b75 (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
//
//  actor_manager.h
//  Super Polarity
//
//  Created by Ruben Beltran del Rio on 8/14/13.
//  Copyright (c) 2013 Abuguet. All rights reserved.
//

#ifndef Super_Polarity_actor_manager_h
#define Super_Polarity_actor_manager_h

#include "SDL2/SDL.h"
#include "actor.h"

typedef struct actor_manager ActorManager;
typedef struct actor_node ActorNode;

typedef struct actor_manager {
    ActorNode *actors;
    void (*update)(ActorManager *, Uint32);
    void (*draw)(ActorManager *);
    void (*addActor)(ActorManager *, Actor *);
} ActorManager;

typedef struct actor_node {
    Actor *val;
    ActorNode *next;
} ActorNode;

ActorManager* createActorManager();

#endif