Beginning input refactor
This commit is contained in:
@@ -36,51 +36,52 @@ void playerEntityUpdate(entity_t *entity) {
|
||||
// if(UI_TEXTBOX.visible) return;
|
||||
if(entityIsMoving(entity)) return;
|
||||
|
||||
const uint8_t moveSpeed = inputIsDown(INPUT_BIND_CANCEL) ? PLAYER_SPEED_RUN : PLAYER_SPEED_WALK;
|
||||
// const uint8_t moveSpeed = inputIsDown(INPUT_BIND_CANCEL) ? PLAYER_SPEED_RUN : PLAYER_SPEED_WALK;
|
||||
const uint8_t moveSpeed = PLAYER_SPEED_WALK;
|
||||
|
||||
if(inputIsDown(INPUT_BIND_UP)) {
|
||||
if(entity->dir != DIRECTION_NORTH) {
|
||||
entityTurn(entity, DIRECTION_NORTH);
|
||||
return;
|
||||
}
|
||||
entityMove(entity, moveSpeed);
|
||||
return;
|
||||
// if(inputIsDown(INPUT_BIND_UP)) {
|
||||
// if(entity->dir != DIRECTION_NORTH) {
|
||||
// entityTurn(entity, DIRECTION_NORTH);
|
||||
// return;
|
||||
// }
|
||||
// entityMove(entity, moveSpeed);
|
||||
// return;
|
||||
|
||||
} else if(inputIsDown(INPUT_BIND_DOWN)) {
|
||||
if(entity->dir != DIRECTION_SOUTH) {
|
||||
entityTurn(entity, DIRECTION_SOUTH);
|
||||
return;
|
||||
}
|
||||
// } else if(inputIsDown(INPUT_BIND_DOWN)) {
|
||||
// if(entity->dir != DIRECTION_SOUTH) {
|
||||
// entityTurn(entity, DIRECTION_SOUTH);
|
||||
// return;
|
||||
// }
|
||||
|
||||
entityMove(entity, moveSpeed);
|
||||
return;
|
||||
} else if(inputIsDown(INPUT_BIND_LEFT)) {
|
||||
if(entity->dir != DIRECTION_WEST) {
|
||||
entityTurn(entity, DIRECTION_WEST);
|
||||
return;
|
||||
}
|
||||
entityMove(entity, moveSpeed);
|
||||
return;
|
||||
// entityMove(entity, moveSpeed);
|
||||
// return;
|
||||
// } else if(inputIsDown(INPUT_BIND_LEFT)) {
|
||||
// if(entity->dir != DIRECTION_WEST) {
|
||||
// entityTurn(entity, DIRECTION_WEST);
|
||||
// return;
|
||||
// }
|
||||
// entityMove(entity, moveSpeed);
|
||||
// return;
|
||||
|
||||
} else if(inputIsDown(INPUT_BIND_RIGHT)) {
|
||||
if(entity->dir != DIRECTION_EAST) {
|
||||
entityTurn(entity, DIRECTION_EAST);
|
||||
return;
|
||||
}
|
||||
// } else if(inputIsDown(INPUT_BIND_RIGHT)) {
|
||||
// if(entity->dir != DIRECTION_EAST) {
|
||||
// entityTurn(entity, DIRECTION_EAST);
|
||||
// return;
|
||||
// }
|
||||
|
||||
entityMove(entity, moveSpeed);
|
||||
return;
|
||||
}
|
||||
// entityMove(entity, moveSpeed);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// Interact
|
||||
if(inputPressed(INPUT_BIND_ACTION)) {
|
||||
int8_t x, y;
|
||||
directionGetCoordinates(entity->dir, &x, &y);
|
||||
entity_t *ent = entityGetAt(entity->x + x, entity->y + y);
|
||||
// if(inputPressed(INPUT_BIND_ACTION)) {
|
||||
// int8_t x, y;
|
||||
// directionGetCoordinates(entity->dir, &x, &y);
|
||||
// entity_t *ent = entityGetAt(entity->x + x, entity->y + y);
|
||||
|
||||
// if(ent != NULL && ENTITY_CALLBACKS[ent->type].interact != NULL) {
|
||||
// assertTrue(ent->type < ENTITY_TYPE_COUNT, "Entity type out of bounds");
|
||||
// ENTITY_CALLBACKS[ent->type].interact(entity, ent);
|
||||
// }
|
||||
}
|
||||
// // if(ent != NULL && ENTITY_CALLBACKS[ent->type].interact != NULL) {
|
||||
// // assertTrue(ent->type < ENTITY_TYPE_COUNT, "Entity type out of bounds");
|
||||
// // ENTITY_CALLBACKS[ent->type].interact(entity, ent);
|
||||
// // }
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user