Merge pull request 'feature/interface-choose-scene' (#42) from feature/interface-choose-scene into dev
Reviewed-on: Athena/game-source#42
This commit is contained in:
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/develop.jpg-1aa60be6aecfb8a84ffb0ec8040793c8.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/levels/develop.jpg"
|
||||||
|
dest_files=[ "res://.import/develop.jpg-1aa60be6aecfb8a84ffb0ec8040793c8.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+17
@@ -0,0 +1,17 @@
|
|||||||
|
extends Object
|
||||||
|
|
||||||
|
var table = null
|
||||||
|
|
||||||
|
func _get_data(datas, index):
|
||||||
|
return datas[index].get_data()
|
||||||
|
|
||||||
|
func _set_data(value, id, type):
|
||||||
|
table.edit_data(id, type, String(value))
|
||||||
|
Global.database.save_db()
|
||||||
|
return value
|
||||||
|
|
||||||
|
func _get_data_id(prop_name, index):
|
||||||
|
if table.get_prop_at(index).get_prop_name() == prop_name:
|
||||||
|
return table.get_prop_at(index).get_prop_id()
|
||||||
|
else:
|
||||||
|
return null
|
||||||
+102
@@ -0,0 +1,102 @@
|
|||||||
|
extends "res://db/MBase.gd"
|
||||||
|
|
||||||
|
var m_id = null
|
||||||
|
var m_value = { "id": null, "value": null }
|
||||||
|
var m_lock = { "id": null, "value": null }
|
||||||
|
var m_label = null
|
||||||
|
var m_tick_reference = { "id": null, "value": null }
|
||||||
|
var m_key = null
|
||||||
|
var m_level = null
|
||||||
|
var m_mesh = null
|
||||||
|
|
||||||
|
func _init(row_index):
|
||||||
|
print("scene#_init")
|
||||||
|
table = Global.database.get_table_by_name("scenes")
|
||||||
|
|
||||||
|
var datas = table.get_data_at_row_idx(row_index)
|
||||||
|
if _get_level(datas) == Global.current_scene_int:
|
||||||
|
m_key = _get_key(datas)
|
||||||
|
m_value["value"] = _get_value(datas)
|
||||||
|
m_lock["value"] = _get_lock(datas)
|
||||||
|
m_label = _get_label(datas)
|
||||||
|
m_tick_reference["value"] = _get_tick_reference(datas)
|
||||||
|
m_mesh = _get_mesh(datas)
|
||||||
|
|
||||||
|
func search_keys():
|
||||||
|
for prop_index in range(0, table.get_props_count()):
|
||||||
|
if table.get_prop_at(prop_index).get_prop_name() == "value" or \
|
||||||
|
table.get_prop_at(prop_index).get_prop_name() == "lock" or \
|
||||||
|
table.get_prop_at(prop_index).get_prop_name() == "tick_reference":
|
||||||
|
if m_value["id"] == null:
|
||||||
|
m_value["id"] = _get_value_id(prop_index)
|
||||||
|
if m_lock["id"] == null:
|
||||||
|
m_lock["id"] = _get_lock_id(prop_index)
|
||||||
|
if m_tick_reference["id"] == null:
|
||||||
|
m_tick_reference["id"] = _get_tick_reference_id(prop_index)
|
||||||
|
|
||||||
|
func object():
|
||||||
|
return {
|
||||||
|
"label": m_label,
|
||||||
|
"lock": m_lock["value"],
|
||||||
|
"value": m_value["value"],
|
||||||
|
"tick_reference": m_tick_reference["value"],
|
||||||
|
"mesh": m_mesh
|
||||||
|
}
|
||||||
|
|
||||||
|
func key():
|
||||||
|
return m_key
|
||||||
|
|
||||||
|
func lock():
|
||||||
|
return m_lock["value"]
|
||||||
|
|
||||||
|
func set_lock(value):
|
||||||
|
m_lock["value"] = _set_data(value, m_lock["id"], gddb_types.e_prop_type_bool)
|
||||||
|
|
||||||
|
func mesh():
|
||||||
|
return m_mesh
|
||||||
|
|
||||||
|
func set_mesh(value):
|
||||||
|
m_mesh = value
|
||||||
|
|
||||||
|
func tick_reference():
|
||||||
|
return m_tick_reference["value"]
|
||||||
|
|
||||||
|
func set_tick_reference(value):
|
||||||
|
m_tick_reference["value"] = _set_data(value, m_tick_reference["id"], gddb_types.e_prop_type_int)
|
||||||
|
|
||||||
|
func value():
|
||||||
|
return m_value["value"]
|
||||||
|
|
||||||
|
func set_value(value):
|
||||||
|
m_value["value"] = _set_data(value, m_value["id"], gddb_types.e_prop_type_float)
|
||||||
|
|
||||||
|
## PRIVATE
|
||||||
|
func _get_value(datas):
|
||||||
|
return _get_data(datas, 0) as float
|
||||||
|
|
||||||
|
func _get_value_id(index):
|
||||||
|
return _get_data_id("value", index)
|
||||||
|
|
||||||
|
func _get_lock(datas):
|
||||||
|
return int(_get_data(datas, 1)) as bool
|
||||||
|
|
||||||
|
func _get_lock_id(index):
|
||||||
|
return _get_data_id("lock", index)
|
||||||
|
|
||||||
|
func _get_label(datas):
|
||||||
|
return _get_data(datas, 2) as String
|
||||||
|
|
||||||
|
func _get_tick_reference(datas):
|
||||||
|
return _get_data(datas, 3) as int
|
||||||
|
|
||||||
|
func _get_tick_reference_id(index):
|
||||||
|
return _get_data_id("tick_reference", index)
|
||||||
|
|
||||||
|
func _get_key(datas):
|
||||||
|
return _get_data(datas, 4) as String
|
||||||
|
|
||||||
|
func _get_level(datas):
|
||||||
|
return _get_data(datas, 5) as int
|
||||||
|
|
||||||
|
func _get_mesh(datas):
|
||||||
|
return "Hidden Objects Items/" + String(_get_data(datas, 6))
|
||||||
+3
-2
@@ -27,9 +27,10 @@
|
|||||||
{"name":"label","type":"3","auto_increment":"0"},
|
{"name":"label","type":"3","auto_increment":"0"},
|
||||||
{"name":"tick_reference","type":"1","auto_increment":"0"},
|
{"name":"tick_reference","type":"1","auto_increment":"0"},
|
||||||
{"name":"key","type":"3","auto_increment":"0"},
|
{"name":"key","type":"3","auto_increment":"0"},
|
||||||
{"name":"level","type":"table","table_name":"levels","auto_increment":"0"}
|
{"name":"level","type":"table","table_name":"levels","auto_increment":"0"},
|
||||||
|
{"name":"mesh","type":"3","auto_increment":"0"}
|
||||||
],
|
],
|
||||||
"data":["0.0","0","Dagger","0","dagger","0","0.0","0","Fiole","0","fiole1","0","0.0","0","Fiole","0","fiole2","0","0.0","0","Fiole","0","fiole3","0","0.0","0","Spyglass","0","spyglass","0","0.0","0","Coins","0","coin1","0","0.0","0","Coins","0","coin2","0","0.0","0","Coins","0","coin3","0","0.0","0","Weapon Gun","0","weapon","0","0.0","0","Apple","0","apple1","0","0.0","0","Apple","02","apple2","0","0.0","0","Apple","0","apple3","0","0.0","0","Apple","0","apple4","0","0.0","0","Beer","0","beer","0"]
|
"data":["0.0","True","Dagger","0","dagger","0","dagger","0.0","0","Fiole","7788","fiole1","0","fioles/fiole1","1.79","0","Fiole","0","fiole2","0","fioles/fiole2","0.0","0","Fiole","0","fiole3","0","fioles/fiole_socle/fiole3","0.0","0","Spyglass","0","spyglass","0","spyglass","0.0","0","Coins","0","coin1","0","golds/coin1","0.0","0","Coins","0","coin2","0","golds/coin2","0.0","0","Coins","0","coin3","0","golds/coin3","0.0","0","Weapon Gun","0","weapon","0","weapon","0.0","0","Apple","0","apple1","0","apples/apple1","0.0","0","Apple","0","apple2","0","apples/apple2","0.0","0","Apple","0","apple3","0","apples/apple3","0.0","0","Apple","0","apple4","0","apples/apple4","0.0","0","Beer","0","beer","0","beer","0.0","0","SuperDager","0","gadder","1","sm_super_dager"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
extends Spatial
|
|
||||||
|
|
||||||
const time_max = 3000 # msec
|
|
||||||
|
|
||||||
onready var meshes = {
|
|
||||||
"dagger": {
|
|
||||||
"mesh": $dagger,
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Dagger",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"coin": {
|
|
||||||
"mesh": $coin,
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Coin",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"book": {
|
|
||||||
"mesh": $book,
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Book",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func _on_Dagger_Area_input_event(_camera, event, _click_position, _click_normal, _shape_idx):
|
|
||||||
_initialize_mesh_ref("dagger", event)
|
|
||||||
|
|
||||||
func _on_Coin_Area_input_event(_camera, event, _click_position, _click_normal, _shape_idx):
|
|
||||||
_initialize_mesh_ref("coin", event)
|
|
||||||
|
|
||||||
func _on_Book_Area_input_event(_camera, event, _click_position, _click_normal, _shape_idx):
|
|
||||||
_initialize_mesh_ref("book", event)
|
|
||||||
|
|
||||||
func _initialize_mesh_ref(meshInstance, event):
|
|
||||||
if meshes[meshInstance]["lock"] == false and (event is InputEventMouseButton or event is InputEventScreenTouch):
|
|
||||||
meshes[meshInstance]["lock"] = true
|
|
||||||
|
|
||||||
func _process(_delta):
|
|
||||||
for mesh in meshes:
|
|
||||||
if meshes[mesh]["lock"] == true and meshes[mesh]["mesh"] != null:
|
|
||||||
|
|
||||||
if meshes[mesh]["tick_reference"] == null:
|
|
||||||
meshes[mesh]["tick_reference"] = OS.get_ticks_msec()
|
|
||||||
|
|
||||||
if OS.get_ticks_msec() < meshes[mesh]["tick_reference"] + time_max:
|
|
||||||
meshes[mesh]["value"] += 0.01
|
|
||||||
meshes[mesh]["mesh"].get_surface_material(0).set("shader_param/dissolve_amount", meshes[mesh]["value"])
|
|
||||||
else:
|
|
||||||
meshes[mesh]["mesh"].call_deferred("free")
|
|
||||||
meshes[mesh]["mesh"] = null
|
|
||||||
File diff suppressed because one or more lines are too long
+1
-5
@@ -3,15 +3,13 @@ extends Control
|
|||||||
const TICKS_TIME_MAX = 100 # msec
|
const TICKS_TIME_MAX = 100 # msec
|
||||||
|
|
||||||
onready var current_scene = null
|
onready var current_scene = null
|
||||||
|
onready var current_scene_int = null
|
||||||
onready var loader = null
|
onready var loader = null
|
||||||
onready var wait_frames = 1
|
onready var wait_frames = 1
|
||||||
onready var database = null
|
onready var database = null
|
||||||
onready var table_settings = null
|
onready var table_settings = null
|
||||||
onready var data_settings = null
|
onready var data_settings = null
|
||||||
onready var table_levels = null
|
onready var table_levels = null
|
||||||
onready var data_levels = null
|
|
||||||
onready var table_scenes = null
|
|
||||||
onready var data_scenes = null
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
print("[global#_ready]")
|
print("[global#_ready]")
|
||||||
@@ -90,7 +88,6 @@ func _initialize_database():
|
|||||||
table_levels = database.get_table_by_name("levels")
|
table_levels = database.get_table_by_name("levels")
|
||||||
|
|
||||||
func _get_settings_data(name, index, table, datas):
|
func _get_settings_data(name, index, table, datas):
|
||||||
print("[global#_get_settings_data] name : "+String(name))
|
|
||||||
var data = null
|
var data = null
|
||||||
|
|
||||||
if table.get_prop_at(index).get_prop_name() == name:
|
if table.get_prop_at(index).get_prop_name() == name:
|
||||||
@@ -99,7 +96,6 @@ func _get_settings_data(name, index, table, datas):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
func _gyroscope_enabled():
|
func _gyroscope_enabled():
|
||||||
print("[global#_gyroscope_enabled]")
|
|
||||||
for index in range(0, table_settings.get_props_count()):
|
for index in range(0, table_settings.get_props_count()):
|
||||||
_get_settings_data("gyroscope", index, table_settings, data_settings)
|
_get_settings_data("gyroscope", index, table_settings, data_settings)
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,11 @@ func _on_Lightmap_pressed():
|
|||||||
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
|
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
|
||||||
|
|
||||||
func _on_warcraft_pressed():
|
func _on_warcraft_pressed():
|
||||||
|
Global.current_scene_int = 0
|
||||||
Global.goto_scene("res://scenes/levels/warcraft/WarCraft.tscn")
|
Global.goto_scene("res://scenes/levels/warcraft/WarCraft.tscn")
|
||||||
|
|
||||||
func _on_develop_pressed():
|
func _on_develop_pressed():
|
||||||
|
Global.current_scene_int = 1
|
||||||
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
|
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
|
||||||
|
|
||||||
## PRIVATE
|
## PRIVATE
|
||||||
@@ -77,4 +79,3 @@ func _configure_button(thumb, _resource, name):
|
|||||||
$games/Container/HBoxContainer/VBoxContainer.add_child(thumbnail)
|
$games/Container/HBoxContainer/VBoxContainer.add_child(thumbnail)
|
||||||
thumbnail.set_normal_texture(load(thumb))
|
thumbnail.set_normal_texture(load(thumb))
|
||||||
thumbnail.connect("pressed", self, "_on_"+name.to_lower()+"_pressed")
|
thumbnail.connect("pressed", self, "_on_"+name.to_lower()+"_pressed")
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,164 @@
|
|||||||
|
extends Spatial
|
||||||
|
|
||||||
|
const TIME_MAX = 3000 # msec
|
||||||
|
const GYROSCOPE_MAX_DIFF = 0.5
|
||||||
|
const OFFSET_CAMERA_MAX = 0.12
|
||||||
|
const OFFSET_STEP_CHANGE = 0.01
|
||||||
|
const RAY_LENGTH = 1000
|
||||||
|
|
||||||
|
onready var gyroscope_value_old = Vector3(0, 0, 0)
|
||||||
|
onready var table = Global.database.get_table_by_name("scenes")
|
||||||
|
onready var meshes = {}
|
||||||
|
onready var meshes2 = null
|
||||||
|
onready var from = null
|
||||||
|
onready var to = null
|
||||||
|
|
||||||
|
var mscene = load("res://db/MScene.gd")
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
_load_translations()
|
||||||
|
_load_meshes()
|
||||||
|
|
||||||
|
func _process(_delta):
|
||||||
|
_check_quit_scene()
|
||||||
|
_check_dissolve_mesh()
|
||||||
|
_check_change_angle_camera()
|
||||||
|
|
||||||
|
func _check_quit_scene():
|
||||||
|
# Event key "escape" and "godot event" ui_end
|
||||||
|
if Input.is_action_just_pressed("ui_end"):
|
||||||
|
_confirm_before_quit()
|
||||||
|
|
||||||
|
func _check_dissolve_mesh():
|
||||||
|
# Event dissolve in object searched by gamer
|
||||||
|
for key in meshes:
|
||||||
|
if meshes[key].lock() == true and meshes[key].mesh() != null:
|
||||||
|
if meshes[key].tick_reference() == 0:
|
||||||
|
meshes[key].set_tick_reference(OS.get_ticks_msec())
|
||||||
|
|
||||||
|
if OS.get_ticks_msec() < meshes[key].tick_reference() + TIME_MAX:
|
||||||
|
meshes[key].set_value(meshes[key].value() + 0.01)
|
||||||
|
_node_to_mesh(key).get_surface_material(0).set("shader_param/dissolve_amount", meshes[key].value())
|
||||||
|
else:
|
||||||
|
_node_to_mesh(key).call_deferred("free")
|
||||||
|
meshes[key].set_mesh(null)
|
||||||
|
|
||||||
|
func _node_to_mesh(key):
|
||||||
|
return get_node(meshes[key].mesh())
|
||||||
|
|
||||||
|
func _node_to_area(key):
|
||||||
|
return get_node(meshes[key].mesh()+"/Area")
|
||||||
|
|
||||||
|
func _check_change_angle_camera():
|
||||||
|
var camera = $"Main Camera"
|
||||||
|
var gyroscope = Input.get_gyroscope()
|
||||||
|
|
||||||
|
if camera.h_offset >= -OFFSET_CAMERA_MAX:
|
||||||
|
if _action_pressed("ui_left") or _action_gyroscope("left", gyroscope):
|
||||||
|
print("[warcraft#_ready] move camera angle to left")
|
||||||
|
$"Main Camera".h_offset -= OFFSET_STEP_CHANGE
|
||||||
|
|
||||||
|
if camera.h_offset <= OFFSET_CAMERA_MAX:
|
||||||
|
if _action_pressed("ui_right") or _action_gyroscope("right", gyroscope):
|
||||||
|
print("[warcraft#_ready] move camera angle to right")
|
||||||
|
$"Main Camera".h_offset += OFFSET_STEP_CHANGE
|
||||||
|
|
||||||
|
if camera.v_offset >= -OFFSET_CAMERA_MAX:
|
||||||
|
if _action_pressed("ui_down") or _action_gyroscope("down", gyroscope):
|
||||||
|
print("[warcraft#_ready] move camera angle to down")
|
||||||
|
$"Main Camera".v_offset -= OFFSET_STEP_CHANGE
|
||||||
|
|
||||||
|
if camera.v_offset <= OFFSET_CAMERA_MAX:
|
||||||
|
if _action_pressed("ui_up") or _action_gyroscope("up", gyroscope):
|
||||||
|
print("[warcraft#_ready] move camera angle to up")
|
||||||
|
$"Main Camera".v_offset += OFFSET_STEP_CHANGE
|
||||||
|
|
||||||
|
gyroscope_value_old = gyroscope
|
||||||
|
|
||||||
|
func _action_pressed(action):
|
||||||
|
return Input.is_action_pressed(action)
|
||||||
|
|
||||||
|
func _action_gyroscope(action, gyroscope):
|
||||||
|
if Global.gyroscope_enabled():
|
||||||
|
var expression = Expression.new()
|
||||||
|
|
||||||
|
expression.parse("_gyroscope_changed_"+action+"(gyroscope)", ["gyroscope"])
|
||||||
|
|
||||||
|
if expression.execute([gyroscope], self):
|
||||||
|
return true
|
||||||
|
else:
|
||||||
|
return false
|
||||||
|
else:
|
||||||
|
return false
|
||||||
|
|
||||||
|
func _gyroscope_changed_left(gyroscope):
|
||||||
|
return (gyroscope.abs().y - gyroscope_value_old.abs().y) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.y < gyroscope_value_old.y
|
||||||
|
|
||||||
|
func _gyroscope_changed_right(gyroscope):
|
||||||
|
return (gyroscope.abs().y - gyroscope_value_old.abs().y) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.y > gyroscope_value_old.y
|
||||||
|
|
||||||
|
func _gyroscope_changed_down(gyroscope):
|
||||||
|
return (gyroscope.abs().z - gyroscope_value_old.abs().z) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.z > gyroscope_value_old.z or \
|
||||||
|
(gyroscope.abs().x - gyroscope_value_old.abs().x) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.x > gyroscope_value_old.x
|
||||||
|
|
||||||
|
func _gyroscope_changed_up(gyroscope):
|
||||||
|
return (gyroscope.abs().z - gyroscope_value_old.abs().z) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.z < gyroscope_value_old.z or \
|
||||||
|
(gyroscope.abs().x - gyroscope_value_old.abs().x) > GYROSCOPE_MAX_DIFF and \
|
||||||
|
gyroscope.x < gyroscope_value_old.x
|
||||||
|
|
||||||
|
func _notification(what):
|
||||||
|
# Notification for android back action
|
||||||
|
if what == MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST:
|
||||||
|
_confirm_before_quit()
|
||||||
|
|
||||||
|
func _confirm_before_quit():
|
||||||
|
$Dialog/ConfirmEscape.popup()
|
||||||
|
|
||||||
|
# Back to main scene
|
||||||
|
func _quit_to_menu():
|
||||||
|
Global.goto_scene("res://scenes/main.tscn")
|
||||||
|
|
||||||
|
func _start_dissolve(key):
|
||||||
|
if meshes[key].lock() == false:
|
||||||
|
meshes[key].set_lock(true)
|
||||||
|
|
||||||
|
func _on_ConfirmEscape_confirmed():
|
||||||
|
_quit_to_menu()
|
||||||
|
|
||||||
|
## PRIVATE
|
||||||
|
func _load_translations():
|
||||||
|
$Dialog/ConfirmEscape.set_title(tr("SCENE_WARCRAFT_DIALOG_QUIT_TITLE"))
|
||||||
|
$Dialog/ConfirmEscape.set_text(tr("SCENE_WARCRAFT_DIALOG_QUIT_QUESTION"))
|
||||||
|
|
||||||
|
func _load_meshes():
|
||||||
|
var scene_detail = null
|
||||||
|
|
||||||
|
for row_index in range(0, table.m_rows_count):
|
||||||
|
scene_detail = mscene.new(row_index)
|
||||||
|
|
||||||
|
if scene_detail.key() != null:
|
||||||
|
meshes[scene_detail.key()] = scene_detail
|
||||||
|
|
||||||
|
for key in meshes:
|
||||||
|
meshes[key].search_keys()
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if event is InputEventMouseButton or event is InputEventScreenTouch:
|
||||||
|
var camera = $"Main Camera"
|
||||||
|
from = camera.project_ray_origin(event.position)
|
||||||
|
to = from + camera.project_ray_normal(event.position) * RAY_LENGTH
|
||||||
|
|
||||||
|
func _physics_process(_delta):
|
||||||
|
var space_state = get_world().direct_space_state
|
||||||
|
if from != null and to != null:
|
||||||
|
var result = space_state.intersect_ray(from, to, [], 1, false, true)
|
||||||
|
from = null
|
||||||
|
to = null
|
||||||
|
var node = result["collider"].get_parent()
|
||||||
|
if node != null:
|
||||||
|
_start_dissolve(node.name)
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://scenes/levels/levels.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="Spatial" type="Spatial"]
|
||||||
|
script = ExtResource( 1 )
|
||||||
@@ -21,4 +21,4 @@ flags/filter=true
|
|||||||
flags/mipmaps=false
|
flags/mipmaps=false
|
||||||
flags/srgb=false
|
flags/srgb=false
|
||||||
slices/horizontal=1
|
slices/horizontal=1
|
||||||
slices/vertical=1
|
slices/vertical=2
|
||||||
|
|||||||
@@ -1,261 +1,4 @@
|
|||||||
extends Spatial
|
extends "res://scenes/levels/levels.gd"
|
||||||
|
|
||||||
const TIME_MAX = 3000 # msec
|
|
||||||
const GYROSCOPE_MAX_DIFF = 0.5
|
|
||||||
const OFFSET_CAMERA_MAX = 0.12
|
|
||||||
const OFFSET_STEP_CHANGE = 0.01
|
|
||||||
|
|
||||||
var gyroscope_value_old = Vector3(0, 0, 0)
|
|
||||||
|
|
||||||
onready var meshes = {
|
|
||||||
"dagger": {
|
|
||||||
"mesh": $"Hidden Objects Items/dagger",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Dagger",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"fiole1": {
|
|
||||||
"mesh": $"Hidden Objects Items/Fioles x3/sm_fiole1",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Fiole",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"fiole2": {
|
|
||||||
"mesh": $"Hidden Objects Items/Fioles x3/sm_fiole2",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Fiole",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"fiole3": {
|
|
||||||
"mesh": $"Hidden Objects Items/Fioles x3/sm_fiole_socle/sm_fiole3",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Fiole",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"spyglass": {
|
|
||||||
"mesh": $"Hidden Objects Items/sm_spyglass",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Spyglass",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"coin1": {
|
|
||||||
"mesh": $"Hidden Objects Items/golds/sm_stackgold_1",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Coins",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"coin2": {
|
|
||||||
"mesh": $"Hidden Objects Items/golds/sm_stackgold_2",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Coins",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"coin3": {
|
|
||||||
"mesh": $"Hidden Objects Items/golds/sm_stackgold_3",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Coins",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"weapon": {
|
|
||||||
"mesh": $"Hidden Objects Items/sm_weapon_gun",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Weapon Gun",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"beer": {
|
|
||||||
"mesh": $"Hidden Objects Items/sm_pinte_beer",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Beer Pinte",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"apple1": {
|
|
||||||
"mesh": $"Hidden Objects Items/apples/sm_apple_1",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Apple",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"apple2": {
|
|
||||||
"mesh": $"Hidden Objects Items/apples/sm_apple_2",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Apple",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"apple3": {
|
|
||||||
"mesh": $"Hidden Objects Items/apples/sm_apple_3",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Apple",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
},
|
|
||||||
"apple4": {
|
|
||||||
"mesh": $"Hidden Objects Items/apples/sm_apple_4",
|
|
||||||
"value": 0.0,
|
|
||||||
"label": "Apple",
|
|
||||||
"lock": false,
|
|
||||||
"tick_reference": null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$Dialog/ConfirmEscape.set_title(tr("SCENE_WARCRAFT_DIALOG_QUIT_TITLE"))
|
pass
|
||||||
$Dialog/ConfirmEscape.set_text(tr("SCENE_WARCRAFT_DIALOG_QUIT_QUESTION"))
|
|
||||||
|
|
||||||
func _process(_delta):
|
|
||||||
_check_quit_scene()
|
|
||||||
_check_dissolve_mesh()
|
|
||||||
_check_change_angle_camera()
|
|
||||||
|
|
||||||
func _check_quit_scene():
|
|
||||||
# Event key "escape" and "godot event" ui_end
|
|
||||||
if Input.is_action_just_pressed("ui_end"):
|
|
||||||
_confirm_before_quit()
|
|
||||||
|
|
||||||
func _check_dissolve_mesh():
|
|
||||||
# Event dissolve in object searched by gamer
|
|
||||||
for mesh in meshes:
|
|
||||||
if meshes[mesh]["lock"] == true and meshes[mesh]["mesh"] != null:
|
|
||||||
if meshes[mesh]["tick_reference"] == null:
|
|
||||||
meshes[mesh]["tick_reference"] = OS.get_ticks_msec()
|
|
||||||
|
|
||||||
if OS.get_ticks_msec() < meshes[mesh]["tick_reference"] + TIME_MAX:
|
|
||||||
meshes[mesh]["value"] += 0.01
|
|
||||||
meshes[mesh]["mesh"].get_surface_material(0).set("shader_param/dissolve_amount", meshes[mesh]["value"])
|
|
||||||
else:
|
|
||||||
meshes[mesh]["mesh"].call_deferred("free")
|
|
||||||
meshes[mesh]["mesh"] = null
|
|
||||||
|
|
||||||
func _check_change_angle_camera():
|
|
||||||
var camera = $"Main Camera"
|
|
||||||
var gyroscope = Input.get_gyroscope()
|
|
||||||
|
|
||||||
if camera.h_offset >= -OFFSET_CAMERA_MAX:
|
|
||||||
if _action_pressed("ui_left") or _action_gyroscope("left", gyroscope):
|
|
||||||
print("[warcraft#_ready] move camera angle to left")
|
|
||||||
$"Main Camera".h_offset -= OFFSET_STEP_CHANGE
|
|
||||||
|
|
||||||
if camera.h_offset <= OFFSET_CAMERA_MAX:
|
|
||||||
if _action_pressed("ui_right") or _action_gyroscope("right", gyroscope):
|
|
||||||
print("[warcraft#_ready] move camera angle to right")
|
|
||||||
$"Main Camera".h_offset += OFFSET_STEP_CHANGE
|
|
||||||
|
|
||||||
if camera.v_offset >= -OFFSET_CAMERA_MAX:
|
|
||||||
if _action_pressed("ui_down") or _action_gyroscope("down", gyroscope):
|
|
||||||
print("[warcraft#_ready] move camera angle to down")
|
|
||||||
$"Main Camera".v_offset -= OFFSET_STEP_CHANGE
|
|
||||||
|
|
||||||
if camera.v_offset <= OFFSET_CAMERA_MAX:
|
|
||||||
if _action_pressed("ui_up") or _action_gyroscope("up", gyroscope):
|
|
||||||
print("[warcraft#_ready] move camera angle to up")
|
|
||||||
$"Main Camera".v_offset += OFFSET_STEP_CHANGE
|
|
||||||
|
|
||||||
gyroscope_value_old = gyroscope
|
|
||||||
|
|
||||||
func _action_pressed(action):
|
|
||||||
return Input.is_action_pressed(action)
|
|
||||||
|
|
||||||
func _action_gyroscope(action, gyroscope):
|
|
||||||
if Global.gyroscope_enabled():
|
|
||||||
var expression = Expression.new()
|
|
||||||
|
|
||||||
expression.parse("_gyroscope_changed_"+action+"(gyroscope)", ["gyroscope"])
|
|
||||||
|
|
||||||
if expression.execute([gyroscope], self):
|
|
||||||
return true
|
|
||||||
else:
|
|
||||||
return false
|
|
||||||
else:
|
|
||||||
return false
|
|
||||||
|
|
||||||
func _gyroscope_changed_left(gyroscope):
|
|
||||||
return (gyroscope.abs().y - gyroscope_value_old.abs().y) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.y < gyroscope_value_old.y
|
|
||||||
|
|
||||||
func _gyroscope_changed_right(gyroscope):
|
|
||||||
return (gyroscope.abs().y - gyroscope_value_old.abs().y) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.y > gyroscope_value_old.y
|
|
||||||
|
|
||||||
func _gyroscope_changed_down(gyroscope):
|
|
||||||
return (gyroscope.abs().z - gyroscope_value_old.abs().z) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.z > gyroscope_value_old.z or \
|
|
||||||
(gyroscope.abs().x - gyroscope_value_old.abs().x) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.x > gyroscope_value_old.x
|
|
||||||
|
|
||||||
func _gyroscope_changed_up(gyroscope):
|
|
||||||
return (gyroscope.abs().z - gyroscope_value_old.abs().z) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.z < gyroscope_value_old.z or \
|
|
||||||
(gyroscope.abs().x - gyroscope_value_old.abs().x) > GYROSCOPE_MAX_DIFF and \
|
|
||||||
gyroscope.x < gyroscope_value_old.x
|
|
||||||
|
|
||||||
func _notification(what):
|
|
||||||
# Notification for android back action
|
|
||||||
if what == MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST:
|
|
||||||
_confirm_before_quit()
|
|
||||||
|
|
||||||
func _confirm_before_quit():
|
|
||||||
$Dialog/ConfirmEscape.popup()
|
|
||||||
|
|
||||||
# Back to main scene
|
|
||||||
func _quit_to_menu():
|
|
||||||
Global.goto_scene("res://scenes/main.tscn")
|
|
||||||
|
|
||||||
func _initialize_mesh_ref(meshInstance, event):
|
|
||||||
if meshes[meshInstance]["lock"] == false and (event is InputEventMouseButton or event is InputEventScreenTouch):
|
|
||||||
meshes[meshInstance]["lock"] = true
|
|
||||||
|
|
||||||
# Event when user click/touch dagger
|
|
||||||
func _on_dagger_input_event(_camera, event, _click_position, _click_normal, _shape_idx):
|
|
||||||
_initialize_mesh_ref("dagger", event)
|
|
||||||
|
|
||||||
func _on_fiole1_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("fiole1", event)
|
|
||||||
|
|
||||||
func _on_fiole2_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("fiole2", event)
|
|
||||||
|
|
||||||
func _on_fiole3_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("fiole3", event)
|
|
||||||
|
|
||||||
func _on_spyglass_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("spyglass", event)
|
|
||||||
|
|
||||||
func _on_pinte_beer_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("beer", event)
|
|
||||||
|
|
||||||
func _on_weapon_gun_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("weapon", event)
|
|
||||||
|
|
||||||
func _on_apple_1_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("apple1", event)
|
|
||||||
|
|
||||||
func _on_apple_2_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("apple2", event)
|
|
||||||
|
|
||||||
func _on_apple_3_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("apple3", event)
|
|
||||||
|
|
||||||
func _on_apple_4_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("apple4", event)
|
|
||||||
|
|
||||||
func _on_gold_1_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("coin1", event)
|
|
||||||
|
|
||||||
func _on_gold_2_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("coin2", event)
|
|
||||||
|
|
||||||
func _on_gold_3_input_event(camera, event, click_position, click_normal, shape_idx):
|
|
||||||
_initialize_mesh_ref("coin3", event)
|
|
||||||
|
|
||||||
func _on_ConfirmEscape_confirmed():
|
|
||||||
_quit_to_menu()
|
|
||||||
|
|||||||
@@ -28,16 +28,16 @@
|
|||||||
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_green.material" type="Material" id=26]
|
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_green.material" type="Material" id=26]
|
||||||
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_red.material" type="Material" id=27]
|
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_red.material" type="Material" id=27]
|
||||||
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_blue.material" type="Material" id=28]
|
[ext_resource path="res://assets/props/fiole/materials/MA_fiole_blue.material" type="Material" id=28]
|
||||||
[ext_resource path="res://assets/props/spyglass/sm_spyglass.mesh" type="ArrayMesh" id=29]
|
[ext_resource path="res://assets/props/apple/materials/MA_apple1.material" type="Material" id=29]
|
||||||
[ext_resource path="res://assets/props/stack gold/sm_stackgold.mesh" type="ArrayMesh" id=30]
|
[ext_resource path="res://assets/props/stack gold/sm_stackgold.mesh" type="ArrayMesh" id=30]
|
||||||
[ext_resource path="res://assets/props/spyglass/materials/MA_spyglass.material" type="Material" id=31]
|
[ext_resource path="res://assets/props/apple/materials/MA_apple3.material" type="Material" id=31]
|
||||||
[ext_resource path="res://assets/props/stack gold/materials/MA_gold.material" type="Material" id=32]
|
[ext_resource path="res://assets/props/stack gold/materials/MA_gold3.material" type="Material" id=32]
|
||||||
[ext_resource path="res://assets/props/pinte beer/materials/MA_pinte_beer.material" type="Material" id=33]
|
[ext_resource path="res://assets/props/pinte beer/materials/MA_pinte_beer.material" type="Material" id=33]
|
||||||
[ext_resource path="res://assets/props/weapon gun/materials/MA_weapon_gun.material" type="Material" id=34]
|
[ext_resource path="res://assets/props/weapon gun/materials/MA_weapon_gun.material" type="Material" id=34]
|
||||||
[ext_resource path="res://assets/props/apple/materials/MA_apple.material" type="Material" id=35]
|
[ext_resource path="res://assets/props/apple/materials/MA_apple4.material" type="Material" id=35]
|
||||||
[ext_resource path="res://assets/props/fireplace/sm_fireplace.mesh" type="ArrayMesh" id=36]
|
[ext_resource path="res://assets/props/apple/materials/MA_apple2.material" type="Material" id=36]
|
||||||
[ext_resource path="res://assets/props/column/sm_column.mesh" type="ArrayMesh" id=37]
|
[ext_resource path="res://assets/props/stack gold/materials/MA_gold2.material" type="Material" id=37]
|
||||||
[ext_resource path="res://assets/props/misc/plane.mesh" type="ArrayMesh" id=38]
|
[ext_resource path="res://assets/props/stack gold/materials/MA_gold1.material" type="Material" id=38]
|
||||||
|
|
||||||
[sub_resource type="CubeMesh" id=1]
|
[sub_resource type="CubeMesh" id=1]
|
||||||
|
|
||||||
@@ -513,47 +513,53 @@ transform = Transform( 0.534795, 0, 0.844982, 0, 1, 0, -0.844982, 0, 0.534795, -
|
|||||||
mesh = ExtResource( 20 )
|
mesh = ExtResource( 20 )
|
||||||
material/0 = ExtResource( 8 )
|
material/0 = ExtResource( 8 )
|
||||||
|
|
||||||
[node name="Hidden Objects Items" type="Spatial" parent="."]
|
[node name="Hidden Objects Items" type="RayCast" parent="."]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.233905, 1.0296, -0.405055 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.233905, 1.0296, -0.405055 )
|
||||||
|
collision_mask = 2
|
||||||
|
collide_with_areas = true
|
||||||
|
collide_with_bodies = false
|
||||||
|
|
||||||
[node name="Fioles x3" type="Spatial" parent="Hidden Objects Items"]
|
[node name="fioles" type="Spatial" parent="Hidden Objects Items"]
|
||||||
|
|
||||||
[node name="sm_fiole1" type="MeshInstance" parent="Hidden Objects Items/Fioles x3"]
|
[node name="fiole1" type="MeshInstance" parent="Hidden Objects Items/fioles"]
|
||||||
transform = Transform( -0.210773, -0.635682, 0.742619, 0.949185, -0.314721, 0, 0.233718, 0.704883, 0.669714, 0.0481223, 0, -0.094099 )
|
transform = Transform( -0.210773, -0.635682, 0.742619, 0.949185, -0.314721, 0, 0.233718, 0.704883, 0.669714, 0.0481223, 0, -0.094099 )
|
||||||
mesh = ExtResource( 24 )
|
mesh = ExtResource( 24 )
|
||||||
material/0 = ExtResource( 26 )
|
material/0 = ExtResource( 26 )
|
||||||
|
|
||||||
[node name="AreaFiole1" type="Area" parent="Hidden Objects Items/Fioles x3/sm_fiole1"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole1"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/Fioles x3/sm_fiole1/AreaFiole1"]
|
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole1/Area"]
|
||||||
transform = Transform( 1, 2.98023e-08, -8.9407e-08, 0, -1.19209e-07, 1, -8.9407e-08, -1, 2.98023e-08, -5.96046e-08, 0.0801149, 0 )
|
transform = Transform( 1, 2.98023e-08, -8.9407e-08, 0, -1.19209e-07, 1, -8.9407e-08, -1, 2.98023e-08, -5.96046e-08, 0.0801149, 0 )
|
||||||
shape = SubResource( 5 )
|
shape = SubResource( 5 )
|
||||||
|
|
||||||
[node name="sm_fiole2" type="MeshInstance" parent="Hidden Objects Items/Fioles x3"]
|
[node name="fiole2" type="MeshInstance" parent="Hidden Objects Items/fioles"]
|
||||||
transform = Transform( 0.655275, 0.636944, -0.4061, 0.670978, -0.243833, 0.700239, 0.346993, -0.731333, -0.587153, -4.19531, -0.894133, 2.66915 )
|
transform = Transform( 0.655275, 0.636944, -0.4061, 0.670978, -0.243833, 0.700239, 0.346993, -0.731333, -0.587153, -4.19531, -0.894133, 2.66915 )
|
||||||
mesh = ExtResource( 24 )
|
mesh = ExtResource( 24 )
|
||||||
material/0 = ExtResource( 27 )
|
material/0 = ExtResource( 27 )
|
||||||
|
|
||||||
[node name="AreaFiole2" type="Area" parent="Hidden Objects Items/Fioles x3/sm_fiole2"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole2"]
|
||||||
transform = Transform( 1, -2.98023e-08, 0, -2.98023e-08, 1, 0, 1.49012e-08, -1.19209e-07, 1, -2.38419e-07, -0.0202575, 0 )
|
transform = Transform( 1, -2.98023e-08, 0, -2.98023e-08, 1, 0, 1.49012e-08, -1.19209e-07, 1, -2.38419e-07, -0.0202575, 0 )
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/Fioles x3/sm_fiole2/AreaFiole2"]
|
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole2/Area"]
|
||||||
transform = Transform( 1, 5.96046e-08, -8.9407e-08, 2.98023e-08, -8.9407e-08, 1, -8.9407e-08, -1, 0, 2.38419e-07, 0.0823998, -1.19209e-07 )
|
transform = Transform( 1, 5.96046e-08, -8.9407e-08, 2.98023e-08, -8.9407e-08, 1, -8.9407e-08, -1, 0, 2.38419e-07, 0.0823998, -1.19209e-07 )
|
||||||
shape = SubResource( 6 )
|
shape = SubResource( 6 )
|
||||||
|
|
||||||
[node name="sm_fiole_socle" type="MeshInstance" parent="Hidden Objects Items/Fioles x3"]
|
[node name="fiole_socle" type="MeshInstance" parent="Hidden Objects Items/fioles"]
|
||||||
transform = Transform( 0.6773, -1.86265e-09, 0.735707, -0.0293841, 0.999202, 0.0270513, -0.73512, -0.03994, 0.67676, -2.27881, -0.11528, -1.23929 )
|
transform = Transform( 0.6773, -1.86265e-09, 0.735707, -0.0293841, 0.999202, 0.0270513, -0.73512, -0.03994, 0.67676, -2.27881, -0.11528, -1.23929 )
|
||||||
mesh = ExtResource( 25 )
|
mesh = ExtResource( 25 )
|
||||||
material/0 = null
|
material/0 = null
|
||||||
|
|
||||||
[node name="sm_fiole3" type="MeshInstance" parent="Hidden Objects Items/Fioles x3/sm_fiole_socle"]
|
[node name="fiole3" type="MeshInstance" parent="Hidden Objects Items/fioles/fiole_socle"]
|
||||||
transform = Transform( 0.919703, -0.349433, -0.179005, 0.316708, 0.929754, -0.187758, 0.232039, 0.115989, 0.965766, -1.19209e-07, 0.1147, 0.00100636 )
|
transform = Transform( 0.919703, -0.349433, -0.179005, 0.316708, 0.929754, -0.187758, 0.232039, 0.115989, 0.965766, -1.19209e-07, 0.1147, 0.00100636 )
|
||||||
mesh = ExtResource( 24 )
|
mesh = ExtResource( 24 )
|
||||||
material/0 = ExtResource( 28 )
|
material/0 = ExtResource( 28 )
|
||||||
|
|
||||||
[node name="AreaFiole3" type="Area" parent="Hidden Objects Items/Fioles x3/sm_fiole_socle/sm_fiole3"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole_socle/fiole3"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/Fioles x3/sm_fiole_socle/sm_fiole3/AreaFiole3"]
|
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole_socle/fiole3/Area"]
|
||||||
transform = Transform( 1, 2.08616e-07, -7.45058e-08, -5.96046e-08, -1.49012e-07, 1, 5.96046e-08, -1, -1.04308e-07, -1.78814e-07, 0.0560231, 0 )
|
transform = Transform( 1, 2.08616e-07, -7.45058e-08, -5.96046e-08, -1.49012e-07, 1, 5.96046e-08, -1, -1.04308e-07, -1.78814e-07, 0.0560231, 0 )
|
||||||
shape = SubResource( 7 )
|
shape = SubResource( 7 )
|
||||||
|
|
||||||
@@ -563,138 +569,134 @@ mesh = ExtResource( 14 )
|
|||||||
material/0 = ExtResource( 19 )
|
material/0 = ExtResource( 19 )
|
||||||
|
|
||||||
[node name="Area" type="Area" parent="Hidden Objects Items/dagger"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/dagger"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/dagger/Area"]
|
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/dagger/Area"]
|
||||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.0802139, 0 )
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.0802139, 0 )
|
||||||
shape = SubResource( 8 )
|
shape = SubResource( 8 )
|
||||||
|
|
||||||
[node name="sm_spyglass" type="MeshInstance" parent="Hidden Objects Items"]
|
[node name="spyglass" type="MeshInstance" parent="Hidden Objects Items"]
|
||||||
transform = Transform( 0.665919, -0.0332091, 0.63579, 1.34429e-08, 0.920039, 0.0480562, -0.636656, -0.0347355, 0.665013, -2.88265, -0.329537, -0.428369 )
|
transform = Transform( 0.665919, -0.0332091, 0.63579, 1.34429e-08, 0.920039, 0.0480562, -0.636656, -0.0347355, 0.665013, -2.88265, -0.329537, -0.428369 )
|
||||||
mesh = ExtResource( 29 )
|
|
||||||
material/0 = ExtResource( 31 )
|
|
||||||
|
|
||||||
[node name="Area2" type="Area" parent="Hidden Objects Items/sm_spyglass"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/spyglass"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/sm_spyglass/Area2"]
|
[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/spyglass/Area"]
|
||||||
transform = Transform( 1, 0, 0, 1.86265e-09, 1, 3.72529e-09, -2.98023e-08, 3.72529e-09, 1, 2.38419e-07, -1.19209e-07, 0.0177534 )
|
transform = Transform( 1, 0, 0, 1.86265e-09, 1, 3.72529e-09, -2.98023e-08, 3.72529e-09, 1, 2.38419e-07, -1.19209e-07, 0.0177534 )
|
||||||
shape = SubResource( 9 )
|
shape = SubResource( 9 )
|
||||||
|
|
||||||
[node name="sm_pinte_beer" type="MeshInstance" parent="Hidden Objects Items"]
|
[node name="beer" type="MeshInstance" parent="Hidden Objects Items"]
|
||||||
transform = Transform( 0.996658, -0.053142, 0.0620432, 0.0548108, 0.998171, -0.0255105, -0.060574, 0.0288258, 0.997748, -2.8842, 0.173697, 1.98168 )
|
transform = Transform( 0.996658, -0.053142, 0.0620432, 0.0548108, 0.998171, -0.0255105, -0.060574, 0.0288258, 0.997748, -2.8842, 0.173697, 1.98168 )
|
||||||
mesh = ExtResource( 23 )
|
mesh = ExtResource( 23 )
|
||||||
material/0 = ExtResource( 33 )
|
material/0 = ExtResource( 33 )
|
||||||
|
|
||||||
[node name="Area3" type="Area" parent="Hidden Objects Items/sm_pinte_beer"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/beer"]
|
||||||
transform = Transform( 1, 0, 7.45058e-09, -1.16415e-10, 1, -1.86265e-09, 0, 0, 1, -2.38419e-07, -0.21161, -1.19209e-07 )
|
transform = Transform( 1, 0, 7.45058e-09, -1.16415e-10, 1, -1.86265e-09, 0, 0, 1, -2.38419e-07, -0.21161, -1.19209e-07 )
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeBeer" type="CollisionShape" parent="Hidden Objects Items/sm_pinte_beer/Area3"]
|
[node name="CollisionShapeBeer" type="CollisionShape" parent="Hidden Objects Items/beer/Area"]
|
||||||
transform = Transform( 1, 0, -1.61817e-08, 1.83936e-08, -4.28408e-08, 1, 0, -1, -4.65661e-08, 9.53674e-07, 0.0746492, 2.38419e-07 )
|
transform = Transform( 1, 0, -1.61817e-08, 1.83936e-08, -4.28408e-08, 1, 0, -1, -4.65661e-08, 9.53674e-07, 0.0746492, 2.38419e-07 )
|
||||||
shape = SubResource( 10 )
|
shape = SubResource( 10 )
|
||||||
|
|
||||||
[node name="sm_weapon_gun" type="MeshInstance" parent="Hidden Objects Items"]
|
[node name="weapon" type="MeshInstance" parent="Hidden Objects Items"]
|
||||||
transform = Transform( 0.540284, -0.813497, 0.215212, -0.009216, 0.250018, 0.968198, -0.841432, -0.525085, 0.127583, -2.7508, -0.359206, 1.19589 )
|
transform = Transform( 0.540284, -0.813497, 0.215212, -0.009216, 0.250018, 0.968198, -0.841432, -0.525085, 0.127583, -2.7508, -0.359206, 1.19589 )
|
||||||
mesh = ExtResource( 21 )
|
mesh = ExtResource( 21 )
|
||||||
material/0 = ExtResource( 34 )
|
material/0 = ExtResource( 34 )
|
||||||
|
|
||||||
[node name="Area4" type="Area" parent="Hidden Objects Items/sm_weapon_gun"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/weapon"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeWeapon" type="CollisionShape" parent="Hidden Objects Items/sm_weapon_gun/Area4"]
|
[node name="CollisionShapeWeapon" type="CollisionShape" parent="Hidden Objects Items/weapon/Area"]
|
||||||
transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, 0.0388942, 0.0484145, -8.19564e-08 )
|
transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, 0.0388942, 0.0484145, -8.19564e-08 )
|
||||||
shape = SubResource( 11 )
|
shape = SubResource( 11 )
|
||||||
|
|
||||||
[node name="apples" type="Spatial" parent="Hidden Objects Items"]
|
[node name="apples" type="Spatial" parent="Hidden Objects Items"]
|
||||||
|
|
||||||
[node name="sm_apple_1" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
[node name="apple1" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
||||||
transform = Transform( 0.849809, -0.0462348, 0.525058, 0.0744364, 0.996689, -0.0327109, -0.521807, 0.0668814, 0.850438, -2.20275, -0.0779731, 2.45146 )
|
transform = Transform( 0.849809, -0.0462348, 0.525058, 0.0744364, 0.996689, -0.0327109, -0.521807, 0.0668814, 0.850438, -2.20275, -0.0779731, 2.45146 )
|
||||||
mesh = ExtResource( 22 )
|
mesh = ExtResource( 22 )
|
||||||
material/0 = ExtResource( 35 )
|
material/0 = ExtResource( 29 )
|
||||||
|
|
||||||
[node name="Area5" type="Area" parent="Hidden Objects Items/apples/sm_apple_1"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple1"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeApple" type="CollisionShape" parent="Hidden Objects Items/apples/sm_apple_1/Area5"]
|
[node name="CollisionShapeApple" type="CollisionShape" parent="Hidden Objects Items/apples/apple1/Area"]
|
||||||
transform = Transform( -1.45286e-07, -2.98023e-08, 1, -1, -1.11759e-08, 0, 1.86265e-08, -1, -8.9407e-08, -1.90735e-06, 0.00575864, 0 )
|
transform = Transform( -1.45286e-07, -2.98023e-08, 1, -1, -1.11759e-08, 0, 1.86265e-08, -1, -8.9407e-08, -1.90735e-06, 0.00575864, 0 )
|
||||||
shape = SubResource( 12 )
|
shape = SubResource( 12 )
|
||||||
|
|
||||||
[node name="sm_apple_2" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
[node name="apple2" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
||||||
transform = Transform( -0.190449, 0, 0.981697, 0, 1, 0, -0.981697, 0, -0.190449, -1.71166, -0.0869397, -1.29534 )
|
transform = Transform( -0.190449, 0, 0.981697, 0, 1, 0, -0.981697, 0, -0.190449, -1.71166, -0.0869397, -1.29534 )
|
||||||
mesh = ExtResource( 22 )
|
mesh = ExtResource( 22 )
|
||||||
material/0 = ExtResource( 35 )
|
material/0 = ExtResource( 36 )
|
||||||
|
|
||||||
[node name="Area6" type="Area" parent="Hidden Objects Items/apples/sm_apple_2"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple2"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeApple2" type="CollisionShape" parent="Hidden Objects Items/apples/sm_apple_2/Area6"]
|
[node name="CollisionShapeApple2" type="CollisionShape" parent="Hidden Objects Items/apples/apple2/Area"]
|
||||||
transform = Transform( -1.49012e-07, 4.47035e-08, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -1.49012e-08, -4.76837e-07, -0.00566041, 0 )
|
transform = Transform( -1.49012e-07, 4.47035e-08, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -1.49012e-08, -4.76837e-07, -0.00566041, 0 )
|
||||||
shape = SubResource( 13 )
|
shape = SubResource( 13 )
|
||||||
|
|
||||||
[node name="sm_apple_3" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
[node name="apple3" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
||||||
transform = Transform( 0.823731, 0.226496, -0.519776, -0.248954, 0.96813, 0.0273319, 0.509401, 0.106886, 0.853865, -0.718663, -0.36046, 1.92043 )
|
transform = Transform( 0.823731, 0.226496, -0.519776, -0.248954, 0.96813, 0.0273319, 0.509401, 0.106886, 0.853865, -0.718663, -0.36046, 1.92043 )
|
||||||
mesh = ExtResource( 22 )
|
mesh = ExtResource( 22 )
|
||||||
material/0 = ExtResource( 35 )
|
material/0 = ExtResource( 31 )
|
||||||
|
|
||||||
[node name="Area7" type="Area" parent="Hidden Objects Items/apples/sm_apple_3"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple3"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeApple3" type="CollisionShape" parent="Hidden Objects Items/apples/sm_apple_3/Area7"]
|
[node name="CollisionShapeApple3" type="CollisionShape" parent="Hidden Objects Items/apples/apple3/Area"]
|
||||||
transform = Transform( -1.71363e-07, 0, 1, -1, -3.72529e-08, 1.49012e-08, 2.98023e-08, -1, -1.19209e-07, -3.57628e-07, 0.0142345, 2.38419e-07 )
|
transform = Transform( -1.71363e-07, 0, 1, -1, -3.72529e-08, 1.49012e-08, 2.98023e-08, -1, -1.19209e-07, -3.57628e-07, 0.0142345, 2.38419e-07 )
|
||||||
shape = SubResource( 14 )
|
shape = SubResource( 14 )
|
||||||
|
|
||||||
[node name="sm_apple_4" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
[node name="apple4" type="MeshInstance" parent="Hidden Objects Items/apples"]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97752, -0.491035, 0.41055 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97752, -0.491035, 0.41055 )
|
||||||
mesh = ExtResource( 22 )
|
mesh = ExtResource( 22 )
|
||||||
material/0 = ExtResource( 35 )
|
material/0 = ExtResource( 35 )
|
||||||
|
|
||||||
[node name="Area8" type="Area" parent="Hidden Objects Items/apples/sm_apple_4"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple4"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeApple4" type="CollisionShape" parent="Hidden Objects Items/apples/sm_apple_4/Area8"]
|
[node name="CollisionShapeApple4" type="CollisionShape" parent="Hidden Objects Items/apples/apple4/Area"]
|
||||||
transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, -4.76837e-07, 0.00115258, -1.17347e-07 )
|
transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, -4.76837e-07, 0.00115258, -1.17347e-07 )
|
||||||
shape = SubResource( 15 )
|
shape = SubResource( 15 )
|
||||||
|
|
||||||
[node name="golds" type="Spatial" parent="Hidden Objects Items"]
|
[node name="golds" type="Spatial" parent="Hidden Objects Items"]
|
||||||
|
|
||||||
[node name="sm_stackgold_1" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
[node name="coin1" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
||||||
transform = Transform( -0.958704, -0.0851446, 0.271362, -0.0825332, 0.996367, 0.0210433, -0.272167, -0.00222202, -0.962248, 0.234182, -0.0596957, 0.546686 )
|
transform = Transform( -0.958704, -0.0851446, 0.271362, -0.0825332, 0.996367, 0.0210433, -0.272167, -0.00222202, -0.962248, 0.234182, -0.0596957, 0.546686 )
|
||||||
mesh = ExtResource( 30 )
|
mesh = ExtResource( 30 )
|
||||||
material/0 = ExtResource( 32 )
|
material/0 = ExtResource( 38 )
|
||||||
|
|
||||||
[node name="Area9" type="Area" parent="Hidden Objects Items/golds/sm_stackgold_1"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin1"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeGold1" type="CollisionShape" parent="Hidden Objects Items/golds/sm_stackgold_1/Area9"]
|
[node name="CollisionShapeGold1" type="CollisionShape" parent="Hidden Objects Items/golds/coin1/Area"]
|
||||||
transform = Transform( 1, -4.65661e-08, 0, -1.38185e-07, 0.999999, 3.14321e-08, 4.17233e-07, -4.19095e-09, 1, 0.0276761, 0.00212932, 0.0336302 )
|
transform = Transform( 1, -4.65661e-08, 0, -1.38185e-07, 0.999999, 3.14321e-08, 4.17233e-07, -4.19095e-09, 1, 0.0276761, 0.00212932, 0.0336302 )
|
||||||
shape = SubResource( 16 )
|
shape = SubResource( 16 )
|
||||||
|
|
||||||
[node name="sm_stackgold_2" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
[node name="coin2" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
||||||
transform = Transform( 0.250245, 2.79397e-09, -0.968183, 0.0456076, 0.99889, 0.0117882, 0.967108, -0.0471065, 0.249967, 0.752443, -0.0417374, 1.3694 )
|
transform = Transform( 0.250245, 2.79397e-09, -0.968183, 0.0456076, 0.99889, 0.0117882, 0.967108, -0.0471065, 0.249967, 0.752443, -0.0417374, 1.3694 )
|
||||||
|
layers = 3
|
||||||
mesh = ExtResource( 30 )
|
mesh = ExtResource( 30 )
|
||||||
material/0 = ExtResource( 32 )
|
material/0 = ExtResource( 37 )
|
||||||
|
|
||||||
[node name="Area10" type="Area" parent="Hidden Objects Items/golds/sm_stackgold_2"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin2"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeGold2" type="CollisionShape" parent="Hidden Objects Items/golds/sm_stackgold_2/Area10"]
|
[node name="CollisionShapeGold2" type="CollisionShape" parent="Hidden Objects Items/golds/coin2/Area"]
|
||||||
transform = Transform( 1, 0, 2.98023e-08, 7.45058e-09, 1, -9.31323e-10, 5.96046e-08, 0, 1, 0.0499306, 1.19209e-07, 0.0191208 )
|
transform = Transform( 1, 0, 2.98023e-08, 7.45058e-09, 1, -9.31323e-10, 5.96046e-08, 0, 1, 0.0499306, 1.19209e-07, 0.0191208 )
|
||||||
shape = SubResource( 17 )
|
shape = SubResource( 17 )
|
||||||
|
|
||||||
[node name="sm_stackgold_3" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
[node name="coin3" type="MeshInstance" parent="Hidden Objects Items/golds"]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.74641, -0.885448, -0.198129 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.74641, -0.885448, -0.198129 )
|
||||||
mesh = ExtResource( 30 )
|
mesh = ExtResource( 30 )
|
||||||
material/0 = ExtResource( 32 )
|
material/0 = ExtResource( 32 )
|
||||||
|
|
||||||
[node name="Area11" type="Area" parent="Hidden Objects Items/golds/sm_stackgold_3"]
|
[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin3"]
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
[node name="CollisionShapeGold3" type="CollisionShape" parent="Hidden Objects Items/golds/sm_stackgold_3/Area11"]
|
[node name="CollisionShapeGold3" type="CollisionShape" parent="Hidden Objects Items/golds/coin3/Area"]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0358186, 0, 0.0109152 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0358186, 0, 0.0109152 )
|
||||||
shape = SubResource( 18 )
|
shape = SubResource( 18 )
|
||||||
|
|
||||||
[connection signal="confirmed" from="Dialog/ConfirmEscape" to="." method="_on_ConfirmEscape_confirmed"]
|
[connection signal="confirmed" from="Dialog/ConfirmEscape" to="." method="_on_ConfirmEscape_confirmed"]
|
||||||
[connection signal="input_event" from="Hidden Objects Items/Fioles x3/sm_fiole1/AreaFiole1" to="." method="_on_fiole1_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/Fioles x3/sm_fiole2/AreaFiole2" to="." method="_on_fiole2_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/Fioles x3/sm_fiole_socle/sm_fiole3/AreaFiole3" to="." method="_on_fiole3_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/dagger/Area" to="." method="_on_dagger_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/sm_spyglass/Area2" to="." method="_on_spyglass_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/sm_pinte_beer/Area3" to="." method="_on_pinte_beer_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/sm_weapon_gun/Area4" to="." method="_on_weapon_gun_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/apples/sm_apple_1/Area5" to="." method="_on_apple_1_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/apples/sm_apple_2/Area6" to="." method="_on_apple_2_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/apples/sm_apple_3/Area7" to="." method="_on_apple_3_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/apples/sm_apple_4/Area8" to="." method="_on_apple_4_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/golds/sm_stackgold_1/Area9" to="." method="_on_gold_1_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/golds/sm_stackgold_2/Area10" to="." method="_on_gold_2_input_event"]
|
|
||||||
[connection signal="input_event" from="Hidden Objects Items/golds/sm_stackgold_3/Area11" to="." method="_on_gold_3_input_event"]
|
|
||||||
|
|||||||
Reference in New Issue
Block a user