/+junk/c_sdl_joypad

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/c_sdl_joypad

« back to all changes in this revision

Viewing changes to GameObject.c

  • Committer: Gustav Hartvigsson
  • Date: 2013-09-29 21:08:08 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20130929210808-ah3cpip0ungytgse
What I have done:
http://youtu.be/QD0IjnFXW5E

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "GameObject.h"
 
2
 
 
3
void game_object_free (GameObject * self) {
 
4
  GameObjectFreeFunc free_func = self->klass->free_func;
 
5
  free_func (self);
 
6
}
 
7
 
 
8
GameObjectClass * game_object_get_class (GameObject * self) {
 
9
  return self->klass;
 
10
}
 
11
 
 
12
void game_object_set_class (GameObject * self, GameObjectClass * klass) {
 
13
  self->klass = klass;
 
14
}
 
15
 
 
16
void game_object_draw (GameObject * self, SDL_Renderer * renderer) {
 
17
  GameObjectDrawFunc draw_func = self->klass->draw_func;
 
18
  draw_func (self, renderer);
 
19
}
 
20
 
 
21
void game_object_set_movment_delta (GameObject * self, int delta_x,
 
22
                                    int delta_y, uint32_t delta_time) {
 
23
  GameObjectSetMovementDeltaFunc set_movement_delta_func
 
24
                                         = self->klass->set_movement_delta_func;
 
25
  set_movement_delta_func (self, delta_x, delta_y, delta_time);
 
26
}
 
27
 
 
28
bool game_object_get_is_alive (GameObject * self) {
 
29
  GameObjectGetIsAliveFunc is_alive = self->klass->get_is_alive_func;
 
30
  bool ret = is_alive (self);
 
31
  return ret;
 
32
}
 
33
 
 
34
void game_object_set_callback (GameObject * self, char * name,
 
35
                               void * data) {
 
36
  GameObjectSetCallbackFunc set_callback_func = self->klass->set_callback_func;
 
37
  set_callback_func (self, name, data);
 
38
}
 
39
 
 
40
void game_object_do_callback (GameObject * self, char * name) {
 
41
  GameObjectDoCallbackFunc do_callback_func = self->klass->callback_handler_func;
 
42
  do_callback_func (self, name);
 
43
}
 
44
 
 
45
bool game_object_get_is_collide (GameObject * self, GameObject * other) {
 
46
  GameObjectGetIsCollideFunc s_is_collide = self->klass->get_is_collide_func;
 
47
  bool ret = s_is_collide (self, other);
 
48
  return ret;
 
49
}
 
50
 
 
51
 
 
52
/******************************************************************************/
 
53
 
 
54
void game_object_set_free_func (GameObject * self,
 
55
                                GameObjectFreeFunc free_func) {
 
56
  self->klass->free_func = free_func;
 
57
}
 
58
 
 
59
 
 
60
void game_object_set_draw_func (GameObject * self,
 
61
                                GameObjectDrawFunc draw_func) {
 
62
  self->klass->draw_func = draw_func;
 
63
}
 
64
 
 
65
void game_object_set_callback_handler_func (GameObject * self,
 
66
                           GameObjectCallbackHandlerFunc callback_handler_func);
 
67
 
 
68
void game_object_set_set_callback_func (GameObject * self,
 
69
                                  GameObjectSetCallbackFunc set_callback_func) {
 
70
  self->klass->set_callback_func = set_callback_func;
 
71
}
 
72
 
 
73
void game_object_set_move_func (GameObject * self,
 
74
                                GameObjectMoveFunc move_func) {
 
75
  self->klass->move_func = move_func;
 
76
}
 
77
 
 
78
void game_object_set_set_move_delta_func (GameObject * self,
 
79
                         GameObjectSetMovementDeltaFunc set_movement_delta_func) {
 
80
  self->klass->set_movement_delta_func = set_movement_delta_func;
 
81
}
 
82
 
 
83
void game_object_set_get_bounding_box_func (GameObject * self,
 
84
                           GameObjectGetBoundingBoxFunc get_bounding_box_func) {
 
85
  self->klass->get_bounding_box_func = get_bounding_box_func;
 
86
}
 
87
 
 
88
void game_object_set_get_is_alive_func (GameObject * self,
 
89
                                   GameObjectGetIsAliveFunc get_is_alive_func) {
 
90
  self->klass->get_is_alive_func = get_is_alive_func;
 
91
}
 
92
 
 
93
void game_object_set_is_collide_func (GameObject * self,
 
94
                               GameObjectGetIsCollideFunc get_is_collide_func) {
 
95
  self->klass->get_is_collide_func = get_is_collide_func;
 
96
}
 
97
 
 
98
/**  MOOOOO!  **/