extends Spatial #-----------------SCENE--SCRIPT------------------# # Close your game faster by clicking 'Esc' # # Change mouse mode by clicking 'Shift + F1' # #------------------------------------------------# export var fast_close := true var mouse_mode: String = "CAPTURED" var objmgr onready var camera = get_node("Player/Head/Camera") ################################################## func _ready() -> void: if fast_close: print("** 'Esc' to close 'Shift + F1' to release mouse **") var giantsscript = load("res://objectmanager.gd") var f = File.new() f.open("res://dir.txt", File.READ) var dir = f.get_as_text() f.close() var terrainmanager = load("res://terrainmanager.gd").new() var terrain_mesh = terrainmanager.get_terrain("/home/tasty/Jeux/Giants Citizen Kabuto/Worlds/Mecc v. Mecc - Summit.gck") add_child(terrain_mesh) objmgr = giantsscript.ObjectManager.new() # objmgr.GIANTS_PATH = dir # var giants_dir_browser = FileDialog.new() # giants_dir_browser.mode = FileDialog.MODE_OPEN_DIR # giants_dir_browser.window_title = "Select your Giants directory" # giants_dir_browser.access = FileDialog.ACCESS_FILESYSTEM # add_child(giants_dir_browser) # giants_dir_browser.popup_centered() objmgr.build() # var m = objmgr.load_model("mc_nothrust_l0.gbs") # var m = objmgr.load_model("ripper.gbs") #var m = objmgr.load_model("RP_command.gbs") #var meshinstance = objmgr.load_model_mesh(m) #meshinstance.transform.origin.y = 50 #add_child(meshinstance) func _input(event: InputEvent) -> void: if event.is_action_pressed("ui_cancel") and fast_close: get_tree().quit() # Quits the game if event.is_action_pressed("mouse_input") and fast_close: match mouse_mode: # Switch statement in GDScript "CAPTURED": Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) mouse_mode = "VISIBLE" "VISIBLE": Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) mouse_mode = "CAPTURED" if event.is_action_pressed("spawn_object"): var random_key = "" var rand = RandomNumberGenerator.new() rand.randomize() var keys = objmgr.index.keys() while not random_key.ends_with(".gbs"): var rand_i = rand.randi_range(0, len(keys)-1) random_key = keys[rand_i] var m = objmgr.load_model(random_key) print("Loading "+random_key) var meshinstance = objmgr.load_model_mesh(m) var pos = camera.get_global_transform().origin meshinstance.transform.origin.x = pos.x meshinstance.transform.origin.y = pos.y meshinstance.transform.origin.z = pos.z add_child(meshinstance) func _process(_delta): var pos = camera.get_global_transform().origin get_node("Label").text = "X: "+str(pos.x)+", Y: "+str(pos.y)+", Z: "+str(pos.z) var rotation = camera.rotation get_node("Label").text += " X: "+str(rotation.x)+", Y: "+str(rotation.y)+", Z: "+str(rotation.z) func _on_Button_pressed(): get_tree().quit()