Make hand item follow the player more closely
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 269 B |
@@ -5,7 +5,7 @@ import { Container, PlayerInventory } from "$/client/components/inventory.ts";
|
|||||||
import { InputManager } from "$/client/input_manager.ts";
|
import { InputManager } from "$/client/input_manager.ts";
|
||||||
import { ClientWorld } from "$/client/client_world.ts";
|
import { ClientWorld } from "$/client/client_world.ts";
|
||||||
import { Position } from "../../common/components/position.ts";
|
import { Position } from "../../common/components/position.ts";
|
||||||
import { Sprite } from "../components/sprite.ts";
|
import { AnimatedSprite, Sprite } from "../components/sprite.ts";
|
||||||
|
|
||||||
export class InventorySystem extends System {
|
export class InventorySystem extends System {
|
||||||
update(world: ClientWorld, _delta: number): void {
|
update(world: ClientWorld, _delta: number): void {
|
||||||
@@ -150,16 +150,18 @@ export class InventorySystem extends System {
|
|||||||
const [player, player_hand] = world.get_tag("player")!;
|
const [player, player_hand] = world.get_tag("player")!;
|
||||||
|
|
||||||
const player_position = player.get(Position);
|
const player_position = player.get(Position);
|
||||||
|
const player_sprite = player.get(AnimatedSprite);
|
||||||
const hand_position = player_hand.get(Position);
|
const hand_position = player_hand.get(Position);
|
||||||
const hand_sprite = player_hand.get(Sprite);
|
const hand_sprite = player_hand.get(Sprite);
|
||||||
|
|
||||||
if (!player_position || !hand_position || !hand_sprite) {
|
if (!player_position || !hand_position || !hand_sprite || !player_sprite) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sync position
|
// sync position
|
||||||
hand_position.x = player_position.x;
|
hand_position.x = player_position.x + (player_sprite.flip_x ? 34 : 4);
|
||||||
hand_position.y = player_position.y;
|
hand_position.y = player_position.y + 34;
|
||||||
|
hand_sprite.flip_x = player_sprite.flip_x;
|
||||||
|
|
||||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||||
if (maybe_item) {
|
if (maybe_item) {
|
||||||
|
|||||||
Reference in New Issue
Block a user