Gui handler and basic inventory screen
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { ItemStack, PlayerInventory } from "../components/inventory.ts";
|
||||
import { ItemStack } from "../inventory.ts";
|
||||
import { PlayerComponent } from "../player.ts";
|
||||
|
||||
interface CropsRegistry {
|
||||
total_stages: number;
|
||||
@@ -84,7 +85,7 @@ function create_crop_tile(crop_id: string) {
|
||||
},
|
||||
on_click(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (!item) {
|
||||
return;
|
||||
@@ -99,7 +100,7 @@ function create_crop_tile(crop_id: string) {
|
||||
return;
|
||||
}
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
player_inventory.container.add_item(new ItemStack(crop_info.item_drop));
|
||||
if (crop_info.regrowable) {
|
||||
tile.data!.current_stage -= 1;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { PlayerInventory } from "../components/inventory.ts";
|
||||
import { WateringCanData } from "../items/watering_can.ts";
|
||||
import { PlayerComponent } from "../player.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:dirt", {
|
||||
texture_id: "bworld:dirt",
|
||||
@@ -8,7 +8,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:dirt", {
|
||||
|
||||
on_interact(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (maybe_item && maybe_item.type_id === "bworld:hoe") {
|
||||
tile.id = "bworld:hoed_dirt";
|
||||
@@ -22,7 +22,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:hoed_dirt", {
|
||||
|
||||
on_click(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (!item) {
|
||||
return;
|
||||
@@ -34,7 +34,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:hoed_dirt", {
|
||||
},
|
||||
on_interact(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (!item) {
|
||||
return;
|
||||
@@ -56,7 +56,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:hoed_watered_dirt", {
|
||||
|
||||
on_click(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (!item) {
|
||||
return;
|
||||
@@ -68,7 +68,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:hoed_watered_dirt", {
|
||||
},
|
||||
on_interact(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (!item) {
|
||||
return;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { PlayerInventory } from "../components/inventory.ts";
|
||||
import { PlayerComponent } from "../player.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:grass", {
|
||||
texture_id: "bworld:grass",
|
||||
@@ -7,7 +7,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:grass", {
|
||||
|
||||
on_interact(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (maybe_item && maybe_item.type_id === "bworld:hoe") {
|
||||
tile.id = "bworld:hoed_dirt";
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { ItemStack, PlayerInventory } from "../components/inventory.ts";
|
||||
import { ItemStack } from "../inventory.ts";
|
||||
import { PlayerComponent } from "../player.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:tree", {
|
||||
texture_id: "bworld:tree",
|
||||
@@ -7,7 +8,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:tree", {
|
||||
|
||||
on_click(world, tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (maybe_item && maybe_item.type_id === "bworld:axe") {
|
||||
tile.id = "bworld:grass";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { EverythingRegistry, TileRegistry } from "$/common/everything_registry.ts";
|
||||
import { PlayerInventory } from "../components/inventory.ts";
|
||||
import { WateringCanData } from "../items/watering_can.ts";
|
||||
import { PlayerComponent } from "../player.ts";
|
||||
|
||||
EverythingRegistry.register<TileRegistry>("tiles", "bworld:water", {
|
||||
texture_id: "bworld:water",
|
||||
@@ -8,7 +8,7 @@ EverythingRegistry.register<TileRegistry>("tiles", "bworld:water", {
|
||||
|
||||
on_interact(world, _tile) {
|
||||
const [player] = world.get_tag("player")!;
|
||||
const player_inventory = player.get(PlayerInventory)!;
|
||||
const player_inventory = player.get(PlayerComponent)!.player_inventory;
|
||||
const maybe_item = player_inventory.container.get_item(player_inventory.hotbar_selected);
|
||||
if (maybe_item && maybe_item.type_id === "bworld:watering_can") {
|
||||
const data = maybe_item.data as WateringCanData;
|
||||
|
||||
Reference in New Issue
Block a user