replace context offset with Camera2D
This commit is contained in:
parent
2026f8ac8d
commit
af7d6dee00
11 changed files with 132 additions and 70 deletions
26
kubo_input.c
26
kubo_input.c
|
|
@ -18,22 +18,22 @@
|
|||
|
||||
#include "kubo_input.h"
|
||||
|
||||
static void key_input(struct kubo_context *context);
|
||||
static void key_input(struct kubo_context *context, Camera2D *camera);
|
||||
static void char_input(struct kubo_context *context);
|
||||
|
||||
static void handle_cmd_input(struct kubo_context *context);
|
||||
|
||||
void kubo_input_handle(struct kubo_context *context) {
|
||||
void kubo_input_handle(struct kubo_context *context, Camera2D *camera) {
|
||||
char_input(context);
|
||||
|
||||
if (context->state.id == KUBO_CONTEXT_COMMAND) {
|
||||
handle_cmd_input(context);
|
||||
}
|
||||
|
||||
key_input(context);
|
||||
key_input(context, camera);
|
||||
}
|
||||
|
||||
static void key_input(struct kubo_context *context) {
|
||||
static void key_input(struct kubo_context *context, Camera2D *camera) {
|
||||
int key_code = GetKeyPressed();
|
||||
|
||||
switch (key_code) {
|
||||
|
|
@ -52,21 +52,37 @@ static void key_input(struct kubo_context *context) {
|
|||
|
||||
case KEY_RIGHT:
|
||||
case KEY_L:
|
||||
if (context->state.id == KUBO_CONTEXT_NORMAL) {
|
||||
kubo_camera_shift(camera,
|
||||
(Vector2){.x = KUBO_INPUT_CAMERA_SHIFT, .y = 0});
|
||||
}
|
||||
kubo_context_input_right(context);
|
||||
break;
|
||||
|
||||
case KEY_UP:
|
||||
case KEY_K:
|
||||
if (context->state.id == KUBO_CONTEXT_NORMAL) {
|
||||
kubo_camera_shift(camera,
|
||||
(Vector2){.x = 0, .y = KUBO_INPUT_CAMERA_SHIFT});
|
||||
}
|
||||
kubo_context_input_up(context);
|
||||
break;
|
||||
|
||||
case KEY_LEFT:
|
||||
case KEY_H:
|
||||
if (context->state.id == KUBO_CONTEXT_NORMAL) {
|
||||
kubo_camera_shift(camera,
|
||||
(Vector2){.x = -KUBO_INPUT_CAMERA_SHIFT, .y = 0});
|
||||
}
|
||||
kubo_context_input_left(context);
|
||||
break;
|
||||
|
||||
case KEY_DOWN:
|
||||
case KEY_J:
|
||||
if (context->state.id == KUBO_CONTEXT_NORMAL) {
|
||||
kubo_camera_shift(camera,
|
||||
(Vector2){.x = 0, .y = -KUBO_INPUT_CAMERA_SHIFT});
|
||||
}
|
||||
kubo_context_input_down(context);
|
||||
break;
|
||||
|
||||
|
|
@ -75,7 +91,7 @@ static void key_input(struct kubo_context *context) {
|
|||
break;
|
||||
|
||||
case KEY_SPACE:
|
||||
kubo_context_reset_offset(context);
|
||||
kubo_camera_reset(camera);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue