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:
darknight
2021-05-14 22:26:32 +02:00
27 changed files with 404 additions and 465 deletions
+34
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -27,9 +27,10 @@
{"name":"label","type":"3","auto_increment":"0"},
{"name":"tick_reference","type":"1","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"]
}
]
}
-54
View File
@@ -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
View File
@@ -3,15 +3,13 @@ extends Control
const TICKS_TIME_MAX = 100 # msec
onready var current_scene = null
onready var current_scene_int = null
onready var loader = null
onready var wait_frames = 1
onready var database = null
onready var table_settings = null
onready var data_settings = null
onready var table_levels = null
onready var data_levels = null
onready var table_scenes = null
onready var data_scenes = null
func _ready():
print("[global#_ready]")
@@ -90,7 +88,6 @@ func _initialize_database():
table_levels = database.get_table_by_name("levels")
func _get_settings_data(name, index, table, datas):
print("[global#_get_settings_data] name : "+String(name))
var data = null
if table.get_prop_at(index).get_prop_name() == name:
@@ -99,7 +96,6 @@ func _get_settings_data(name, index, table, datas):
return data
func _gyroscope_enabled():
print("[global#_gyroscope_enabled]")
for index in range(0, table_settings.get_props_count()):
_get_settings_data("gyroscope", index, table_settings, data_settings)
+2 -1
View File
@@ -14,9 +14,11 @@ func _on_Lightmap_pressed():
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
func _on_warcraft_pressed():
Global.current_scene_int = 0
Global.goto_scene("res://scenes/levels/warcraft/WarCraft.tscn")
func _on_develop_pressed():
Global.current_scene_int = 1
Global.goto_scene("res://developers/aurelien/CheckLightmap.tscn")
## PRIVATE
@@ -77,4 +79,3 @@ func _configure_button(thumb, _resource, name):
$games/Container/HBoxContainer/VBoxContainer.add_child(thumbnail)
thumbnail.set_normal_texture(load(thumb))
thumbnail.connect("pressed", self, "_on_"+name.to_lower()+"_pressed")
+164
View File
@@ -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)
+6
View File
@@ -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 )
+1 -1
View File
@@ -21,4 +21,4 @@ flags/filter=true
flags/mipmaps=false
flags/srgb=false
slices/horizontal=1
slices/vertical=1
slices/vertical=2
+2 -259
View File
@@ -1,261 +1,4 @@
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
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
}
}
extends "res://scenes/levels/levels.gd"
func _ready():
$Dialog/ConfirmEscape.set_title(tr("SCENE_WARCRAFT_DIALOG_QUIT_TITLE"))
$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()
pass
+72 -70
View File
@@ -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_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/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/spyglass/materials/MA_spyglass.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/apple/materials/MA_apple3.material" type="Material" id=31]
[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/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/fireplace/sm_fireplace.mesh" type="ArrayMesh" id=36]
[ext_resource path="res://assets/props/column/sm_column.mesh" type="ArrayMesh" id=37]
[ext_resource path="res://assets/props/misc/plane.mesh" type="ArrayMesh" id=38]
[ext_resource path="res://assets/props/apple/materials/MA_apple4.material" type="Material" id=35]
[ext_resource path="res://assets/props/apple/materials/MA_apple2.material" type="Material" id=36]
[ext_resource path="res://assets/props/stack gold/materials/MA_gold2.material" type="Material" id=37]
[ext_resource path="res://assets/props/stack gold/materials/MA_gold1.material" type="Material" id=38]
[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 )
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 )
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 )
mesh = ExtResource( 24 )
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 )
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 )
mesh = ExtResource( 24 )
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 )
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 )
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 )
mesh = ExtResource( 25 )
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 )
mesh = ExtResource( 24 )
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 )
shape = SubResource( 7 )
@@ -563,138 +569,134 @@ mesh = ExtResource( 14 )
material/0 = ExtResource( 19 )
[node name="Area" type="Area" parent="Hidden Objects Items/dagger"]
collision_mask = 2
[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 )
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 )
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 )
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 )
mesh = ExtResource( 23 )
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 )
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 )
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 )
mesh = ExtResource( 21 )
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 )
shape = SubResource( 11 )
[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 )
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 )
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 )
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 )
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 )
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 )
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 )
mesh = ExtResource( 22 )
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 )
shape = SubResource( 15 )
[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 )
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 )
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 )
layers = 3
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 )
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 )
mesh = ExtResource( 30 )
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 )
shape = SubResource( 18 )
[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"]