Updated crafting machine code to check for valid recipe when deciding to enable/disable the coin machine
This commit is contained in:
parent
46817025a6
commit
01e57c169c
@ -1,11 +1,10 @@
|
|||||||
[gd_resource type="Resource" load_steps=5 format=2]
|
[gd_resource type="Resource" load_steps=4 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scripts/Recipe.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/Recipe.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://item_types/ore.tres" type="Resource" id=2]
|
[ext_resource path="res://item_types/ore.tres" type="Resource" id=2]
|
||||||
[ext_resource path="res://item_types/repair_kit.tres" type="Resource" id=3]
|
[ext_resource path="res://item_types/repair_kit.tres" type="Resource" id=3]
|
||||||
[ext_resource path="res://item_types/raw_yam.tres" type="Resource" id=4]
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
item_type_slots = [ ExtResource( 2 ), ExtResource( 4 ) ]
|
item_type_slots = [ ExtResource( 2 ), ExtResource( 2 ) ]
|
||||||
item_type_out = ExtResource( 3 )
|
item_type_out = ExtResource( 3 )
|
||||||
|
@ -6,9 +6,15 @@ export var recipes: Resource
|
|||||||
func _ready():
|
func _ready():
|
||||||
assert(recipes != null)
|
assert(recipes != null)
|
||||||
|
|
||||||
func craft_item():
|
func get_craft_recipe_item():
|
||||||
var items_in_slots = [$slot_1.item_in_hold.item_type, $slot_2.item_in_hold.item_type]
|
var items_in_slots = [$slot_1.item_in_hold.item_type, $slot_2.item_in_hold.item_type]
|
||||||
var crafted_item = recipes.find_recipe(items_in_slots)
|
return recipes.find_recipe(items_in_slots)
|
||||||
|
|
||||||
|
func can_craft_recipe():
|
||||||
|
return get_craft_recipe_item() != null
|
||||||
|
|
||||||
|
func craft_item():
|
||||||
|
var crafted_item = get_craft_recipe_item()
|
||||||
if crafted_item == null:
|
if crafted_item == null:
|
||||||
return
|
return
|
||||||
$slot_1.destroy_item()
|
$slot_1.destroy_item()
|
||||||
@ -29,7 +35,7 @@ func should_enable_coin_machine():
|
|||||||
return false
|
return false
|
||||||
if not $slot_1.has_item() or not $slot_2.has_item():
|
if not $slot_1.has_item() or not $slot_2.has_item():
|
||||||
return false
|
return false
|
||||||
return true
|
return can_craft_recipe()
|
||||||
|
|
||||||
func _on_craft_item_holder_item_changed(item):
|
func _on_craft_item_holder_item_changed(item):
|
||||||
$coin_machine.enabled = should_enable_coin_machine()
|
$coin_machine.enabled = should_enable_coin_machine()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user