Mercurial > molko
diff man/mlk-action.3 @ 441:31c1bbc33813
man: document mlk-action
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 24 Oct 2022 21:29:39 +0200 |
parents | |
children | c1f64d451230 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/mlk-action.3 Mon Oct 24 21:29:39 2022 +0200 @@ -0,0 +1,79 @@ +.Dd $Mdocdate$ +.Dt MLK-ACTION 3 +.Os +.Sh NAME +.Nm mlk-action +.Nd generic in game actions +.Sh LIBRARY +libmlk-core (-lmlk-core) +.Sh SYNOPSIS +.In mlk/core/action.h +.Sh DESCRIPTION +Generic updatable and drawable actions. +.Pp +This module help creating user interaction within the gameplay by adding +actions. They have the following properties: +.Pp +.Bl -dash -compact +.It +Can handle user input and events, +.It +Can be updated through the game loop, +.It +Can be drawn. +.El +.Pp +Most more high level objects can handle actions to add flexibility (like in +battles, maps, etc). +.Pp +This header defines the +.Vt "struct mlk_action" : +.Bd -literal +struct mlk_action { + void *data; + void (*handle)(struct mlk_action *self, const union mlk_event *ev); + int (*update)(struct mlk_action *self, unsigned int ticks); + void (*draw)(struct mlk_action *self); + void (*end)(struct mlk_action *self); + void (*finish)(struct mlk_action *self); +}; +.Ed +.Pp +Each member function takes the original action as first argument and other +arguments after. Its fields are: +.Bl -tag +.It Va data +Optional user data. +.It Va handle +Handle the event +.Fa ev . +.It Va update +Update the action with the +.Fa ticks +since last frame expressed as milliseconds. The callback should return non-zero +if it is considered complete. +.It Va draw +Draw the action. +.It Va end +Called when the action was completed. +.Pp +This callback is mostly provided to allow the user doing something else once an +action is complete. Predefined actions from the framework should not use this +callback by themselves. +.It Va finish +Destroy internal resources for this action. +.Pp +Close the action before removal. This function should be used to deallocate +memory if necessary. +.El +.Sh SEE ALSO +.Xr mlk_action_draw 3 , +.Xr mlk_action_end 3 , +.Xr mlk_action_finish 3 , +.Xr mlk_action_handle 3 , +.Xr mlk_action_update 3 +.Sh AUTHORS +The +.Nm +library was written by +.An David Demelier Aq Mt markand@malikania.fr .