Push
This commit is contained in:
BIN
addons/fabimakesgames.embed_game/assets/icon.aseprite
Normal file
BIN
addons/fabimakesgames.embed_game/assets/icon.aseprite
Normal file
Binary file not shown.
BIN
addons/fabimakesgames.embed_game/assets/icon.png
Normal file
BIN
addons/fabimakesgames.embed_game/assets/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 154 B |
34
addons/fabimakesgames.embed_game/assets/icon.png.import
Normal file
34
addons/fabimakesgames.embed_game/assets/icon.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://crd2bngqon872"
|
||||||
|
path="res://.godot/imported/icon.png-b7032f7af70248c068afb9d98de50ab4.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fabimakesgames.embed_game/assets/icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-b7032f7af70248c068afb9d98de50ab4.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[gd_resource type="Shortcut" load_steps=2 format=3 uid="uid://dvlydk5ftl206"]
|
||||||
|
|
||||||
|
[sub_resource type="InputEventKey" id="InputEventKey_myaxp"]
|
||||||
|
device = -1
|
||||||
|
ctrl_pressed = true
|
||||||
|
keycode = 4194336
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
events = [SubResource("InputEventKey_myaxp")]
|
||||||
6
addons/fabimakesgames.embed_game/embed_button.tscn
Normal file
6
addons/fabimakesgames.embed_game/embed_button.tscn
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[gd_scene format=3 uid="uid://bb4xl1j6cf78w"]
|
||||||
|
|
||||||
|
[node name="EmbedButton" type="CheckButton"]
|
||||||
|
offset_right = 44.0
|
||||||
|
offset_bottom = 24.0
|
||||||
|
theme_type_variation = &"MainScreenButton"
|
||||||
232
addons/fabimakesgames.embed_game/embed_game.gd
Normal file
232
addons/fabimakesgames.embed_game/embed_game.gd
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
@tool
|
||||||
|
extends EditorPlugin
|
||||||
|
|
||||||
|
const debug: bool = false
|
||||||
|
var debugger: EditorDebugger
|
||||||
|
var sesh: EditorDebuggerSession
|
||||||
|
var last_main_screen_rect: Rect2i
|
||||||
|
var plugin_control: PanelContainer
|
||||||
|
var hbox: HBoxContainer
|
||||||
|
var activate_button: Button
|
||||||
|
var top_bar_button: Button
|
||||||
|
var last_main_screen_not_embed: String
|
||||||
|
var is_playing_scene: bool
|
||||||
|
var was_playing_scene: bool
|
||||||
|
var embed_game:= EmbedGame.new()
|
||||||
|
var cached_game_handle: int = 0
|
||||||
|
|
||||||
|
|
||||||
|
func _enter_tree():
|
||||||
|
add_autoload_singleton("EmbedGameAutoload","res://addons/fabimakesgames.embed_game/embed_game_autoload.gd")
|
||||||
|
|
||||||
|
## add checkbutton and reparent 'embed' button
|
||||||
|
_add_control_elements()
|
||||||
|
|
||||||
|
## CONNECT SIGNALS
|
||||||
|
debugger = EditorDebugger.new()
|
||||||
|
debugger.new_session.connect(register_debugger_session)
|
||||||
|
debugger._on_return_focus.connect(self._on_return_focus)
|
||||||
|
debugger._on_handle_transmitted.connect(self._on_handle_received)
|
||||||
|
add_debugger_plugin(debugger)
|
||||||
|
|
||||||
|
##connect main screen size to game window
|
||||||
|
var main_screen := EditorInterface.get_editor_main_screen()
|
||||||
|
main_screen_changed.connect(_on_main_screen_changed)
|
||||||
|
|
||||||
|
#initialize vars
|
||||||
|
was_playing_scene = EditorInterface.get_playing_scene() != ""
|
||||||
|
is_playing_scene = EditorInterface.get_playing_scene() != ""
|
||||||
|
|
||||||
|
if not ProjectSettings.has_setting("embed_game/padding"):
|
||||||
|
ProjectSettings.set_setting("embed_game/padding", int(0))
|
||||||
|
ProjectSettings.set_initial_value("embed_game/padding", int(0))
|
||||||
|
ProjectSettings.save()
|
||||||
|
func _exit_tree():
|
||||||
|
hbox.queue_free()
|
||||||
|
remove_debugger_plugin(debugger)
|
||||||
|
remove_autoload_singleton("EmbedGameAutoload")
|
||||||
|
|
||||||
|
|
||||||
|
func _build():
|
||||||
|
cached_game_handle = 0 ## make sure the game handle will be gotten anew
|
||||||
|
if activate_button.button_pressed:
|
||||||
|
top_bar_button.visible = true
|
||||||
|
EditorInterface.set_main_screen_editor("Embed")
|
||||||
|
return true
|
||||||
|
|
||||||
|
func _on_activate_button_toggled(flag: bool):
|
||||||
|
self.queue_save_layout() ## saves setting
|
||||||
|
#if not is_playing_scene: return
|
||||||
|
if flag:
|
||||||
|
embed_window()
|
||||||
|
if is_playing_scene:
|
||||||
|
top_bar_button.visible = true
|
||||||
|
EditorInterface.set_main_screen_editor("Embed")
|
||||||
|
|
||||||
|
else:
|
||||||
|
unembed_window()
|
||||||
|
EditorInterface.set_main_screen_editor(last_main_screen_not_embed)
|
||||||
|
plugin_control.visible = false
|
||||||
|
top_bar_button.visible = false
|
||||||
|
|
||||||
|
|
||||||
|
## from project instance
|
||||||
|
func _on_handle_received(data: Array) -> void:
|
||||||
|
cached_game_handle = data[0]
|
||||||
|
if activate_button.button_pressed:
|
||||||
|
embed_window()
|
||||||
|
|
||||||
|
func _get_window_layout(configuration: ConfigFile) -> void:
|
||||||
|
configuration.set_value("embed_window", "is_enabled", activate_button.button_pressed)
|
||||||
|
|
||||||
|
func _set_window_layout(configuration: ConfigFile) -> void:
|
||||||
|
activate_button.button_pressed = configuration.get_value("embed_window","is_enabled", false)
|
||||||
|
|
||||||
|
func _add_control_elements():
|
||||||
|
var top_buttons:= get_top_buttons()
|
||||||
|
for i in top_buttons:
|
||||||
|
if i.text == "Embed":
|
||||||
|
top_bar_button = i
|
||||||
|
hbox = HBoxContainer.new()
|
||||||
|
hbox.name = "Embed"
|
||||||
|
last_main_screen_not_embed = top_buttons[0].name ## so it's never an empty string
|
||||||
|
top_bar_button.get_parent().add_child(hbox)
|
||||||
|
top_bar_button.reparent(hbox)
|
||||||
|
top_bar_button.shortcut = load("res://addons/fabimakesgames.embed_game/config/embed_shortcut.tres")
|
||||||
|
top_bar_button.visible = false
|
||||||
|
activate_button = preload("res://addons/fabimakesgames.embed_game/embed_button.tscn").instantiate()
|
||||||
|
activate_button.toggled.connect(_on_activate_button_toggled)
|
||||||
|
hbox.add_child(activate_button,true)
|
||||||
|
|
||||||
|
## add empty panel
|
||||||
|
plugin_control = PanelContainer.new()
|
||||||
|
EditorInterface.get_editor_main_screen().add_child(plugin_control)
|
||||||
|
plugin_control.hide()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if not activate_button.button_pressed: return
|
||||||
|
|
||||||
|
## UPDATE PLACEMENT WHEN MOVING EDITOR WINDOW ONLY
|
||||||
|
_update_screen_rect_if_required()
|
||||||
|
|
||||||
|
## removes embed view on quitting the play mode
|
||||||
|
is_playing_scene = EditorInterface.get_playing_scene() != ""
|
||||||
|
|
||||||
|
if not is_playing_scene:
|
||||||
|
cached_game_handle = 0 ## reset game handle e.g. no running instance.
|
||||||
|
|
||||||
|
if was_playing_scene and not is_playing_scene:
|
||||||
|
top_bar_button.visible = false
|
||||||
|
EditorInterface.set_main_screen_editor(last_main_screen_not_embed)
|
||||||
|
was_playing_scene = is_playing_scene
|
||||||
|
|
||||||
|
func _on_return_focus(data):
|
||||||
|
var keycode: int = data[0]
|
||||||
|
var f_key_number = keycode - 4194332
|
||||||
|
var top_buttons:= get_top_buttons()
|
||||||
|
if f_key_number < top_buttons.size():
|
||||||
|
if f_key_number == 4: ## is KEY_F5
|
||||||
|
EditorInterface.set_main_screen_editor("Embed")
|
||||||
|
else:
|
||||||
|
var desired_tab: String = top_buttons[f_key_number].name
|
||||||
|
EditorInterface.set_main_screen_editor(desired_tab)
|
||||||
|
|
||||||
|
#region Window Management
|
||||||
|
|
||||||
|
func _update_screen_rect_if_required() -> void:
|
||||||
|
var main_screen := EditorInterface.get_editor_main_screen()
|
||||||
|
var main_screen_rect:= Rect2i(
|
||||||
|
main_screen.global_position + Vector2.ONE * _get_padding() / 2,
|
||||||
|
main_screen.size - Vector2.ONE * _get_padding()
|
||||||
|
)
|
||||||
|
if main_screen_rect != last_main_screen_rect:
|
||||||
|
embed_game.set_window_rect(cached_game_handle, main_screen_rect)
|
||||||
|
last_main_screen_rect = main_screen_rect
|
||||||
|
|
||||||
|
func _force_update_window_rect() -> void:
|
||||||
|
var main_screen := EditorInterface.get_editor_main_screen()
|
||||||
|
var main_screen_rect:= Rect2i(
|
||||||
|
main_screen.global_position,
|
||||||
|
main_screen.size
|
||||||
|
)
|
||||||
|
embed_game.set_window_rect(cached_game_handle, main_screen_rect)
|
||||||
|
last_main_screen_rect = main_screen_rect
|
||||||
|
|
||||||
|
func get_handle_editor() -> int:
|
||||||
|
var window := self.get_window().get_window_id()
|
||||||
|
return DisplayServer.window_get_native_handle(DisplayServer.WINDOW_HANDLE, window)
|
||||||
|
|
||||||
|
func _get_padding() -> int:
|
||||||
|
return ProjectSettings.get_setting("embed_game/padding", 2)
|
||||||
|
|
||||||
|
func embed_window() -> void:
|
||||||
|
embed_game.show_window(cached_game_handle, false) ## takes longer but looks nicer
|
||||||
|
embed_game.store_window_style(cached_game_handle)
|
||||||
|
embed_game.set_window_borderless(cached_game_handle)
|
||||||
|
embed_game.make_child(get_handle_editor(), cached_game_handle)
|
||||||
|
_force_update_window_rect()
|
||||||
|
embed_game.show_window(cached_game_handle, true)
|
||||||
|
|
||||||
|
|
||||||
|
func unembed_window() -> void:
|
||||||
|
embed_game.show_window(cached_game_handle, false)
|
||||||
|
embed_game.unmake_child(cached_game_handle) ##revert window style must come before unmake child, else window moves downwards
|
||||||
|
embed_game.revert_window_style(cached_game_handle)
|
||||||
|
embed_game.show_window(cached_game_handle, true)
|
||||||
|
|
||||||
|
func _on_main_screen_changed(screen_name: String) -> void:
|
||||||
|
if screen_name != "Embed":
|
||||||
|
last_main_screen_not_embed = screen_name
|
||||||
|
if activate_button.button_pressed:
|
||||||
|
embed_game.show_window(cached_game_handle,false)
|
||||||
|
else:
|
||||||
|
embed_game.show_window(cached_game_handle,true)
|
||||||
|
|
||||||
|
|
||||||
|
#region Helper Functions
|
||||||
|
func get_top_buttons() -> Array[Node]:
|
||||||
|
var cont := Control.new()
|
||||||
|
add_control_to_container(CustomControlContainer.CONTAINER_TOOLBAR, cont)
|
||||||
|
var btns := cont.get_parent().get_child(2).get_children()
|
||||||
|
remove_control_from_container(CustomControlContainer.CONTAINER_TOOLBAR, cont)
|
||||||
|
return btns
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region Editor Plugin specific functions
|
||||||
|
func _has_main_screen():
|
||||||
|
return true
|
||||||
|
func _get_plugin_name():
|
||||||
|
return "Embed"
|
||||||
|
func _make_visible(visible):
|
||||||
|
plugin_control.visible = visible
|
||||||
|
func _get_plugin_icon():
|
||||||
|
return preload("res://addons/fabimakesgames.embed_game/assets/icon.png")
|
||||||
|
|
||||||
|
|
||||||
|
#region Debugger Setup
|
||||||
|
class EditorDebugger extends EditorDebuggerPlugin:
|
||||||
|
signal new_session(session:EditorDebuggerSession)
|
||||||
|
signal _on_return_focus(session: EditorDebuggerSession)
|
||||||
|
signal _on_handle_transmitted(session: EditorDebuggerSession)
|
||||||
|
|
||||||
|
func _has_capture(prefix):
|
||||||
|
if prefix == "return_focus": return true
|
||||||
|
if prefix == "transmit_handle": return true
|
||||||
|
return true
|
||||||
|
|
||||||
|
func _capture(message, data, session_id):
|
||||||
|
if message == "return_focus:":
|
||||||
|
_on_return_focus.emit(data)
|
||||||
|
return true
|
||||||
|
if message == "transmit_handle:":
|
||||||
|
_on_handle_transmitted.emit(data)
|
||||||
|
return true
|
||||||
|
func _setup_session(session_id):
|
||||||
|
new_session.emit(get_session(session_id))
|
||||||
|
|
||||||
|
func register_debugger_session(dbgs: EditorDebuggerSession):
|
||||||
|
sesh = dbgs
|
||||||
|
#endregion
|
||||||
14
addons/fabimakesgames.embed_game/embed_game_autoload.gd
Normal file
14
addons/fabimakesgames.embed_game/embed_game_autoload.gd
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
if !OS.has_feature("editor"): ## remove plugin autoloads in exported builds
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
EngineDebugger.send_message("transmit_handle:",[DisplayServer.window_get_native_handle(DisplayServer.WINDOW_HANDLE, self.get_window().get_window_id())])
|
||||||
|
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if event is InputEventKey:
|
||||||
|
if event.ctrl_pressed and event.pressed:
|
||||||
|
if event.keycode >= KEY_F1 and event.keycode <= KEY_F9:
|
||||||
|
EngineDebugger.send_message("return_focus:", [event.keycode])
|
||||||
|
|
||||||
7
addons/fabimakesgames.embed_game/plugin.cfg
Normal file
7
addons/fabimakesgames.embed_game/plugin.cfg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="fabimakesgames.EmbedGame"
|
||||||
|
description="Embeds the game window in the Editor"
|
||||||
|
author="fabimakesgames/fabimakesgames"
|
||||||
|
version="1.0"
|
||||||
|
script="embed_game.gd"
|
||||||
@@ -19,6 +19,7 @@ boot_splash/show_image=false
|
|||||||
|
|
||||||
DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd"
|
DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd"
|
||||||
DialogueController="*res://src/game/DialogueController.cs"
|
DialogueController="*res://src/game/DialogueController.cs"
|
||||||
|
EmbedGameAutoload="*res://addons/fabimakesgames.embed_game/embed_game_autoload.gd"
|
||||||
|
|
||||||
[dialogue_manager]
|
[dialogue_manager]
|
||||||
|
|
||||||
@@ -37,7 +38,7 @@ project/assembly_name="GameJamDungeon"
|
|||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
enabled=PackedStringArray("res://addons/SimpleDungeons/plugin.cfg", "res://addons/dialogue_manager/plugin.cfg")
|
enabled=PackedStringArray("res://addons/SimpleDungeons/plugin.cfg", "res://addons/dialogue_manager/plugin.cfg", "res://addons/fabimakesgames.embed_game/plugin.cfg")
|
||||||
|
|
||||||
[file_customization]
|
[file_customization]
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace GameJamDungeon
|
|||||||
AppLogic.Set(AppRepo);
|
AppLogic.Set(AppRepo);
|
||||||
Menu.NewGame += OnNewGame;
|
Menu.NewGame += OnNewGame;
|
||||||
Menu.Quit += OnQuit;
|
Menu.Quit += OnQuit;
|
||||||
Input.MouseMode = Input.MouseModeEnum.Captured;
|
Input.MouseMode = Input.MouseModeEnum.Visible;
|
||||||
this.Provide();
|
this.Provide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ anchor_right = 1.0
|
|||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
stretch = true
|
||||||
|
|
||||||
[node name="GameWindow" type="SubViewport" parent="SubViewportContainer"]
|
[node name="GameWindow" type="SubViewport" parent="SubViewportContainer"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|||||||
@@ -26,12 +26,15 @@ shader_parameter/enable_recolor = false
|
|||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_qjdoa"]
|
[sub_resource type="Resource" id="Resource_qjdoa"]
|
||||||
script = ExtResource("7_1lafu")
|
script = ExtResource("7_1lafu")
|
||||||
Damage = 0
|
|
||||||
ThrowableItemTags = []
|
ThrowableItemTags = []
|
||||||
Name = "Test Item"
|
Name = "Test Item"
|
||||||
Description = ""
|
Description = ""
|
||||||
Texture = ExtResource("6_3qv3u")
|
Texture = ExtResource("6_3qv3u")
|
||||||
SpawnRate = 0.5
|
SpawnRate = 0.5
|
||||||
|
ThrowSpeed = 12.0
|
||||||
|
HealHPAmount = 0
|
||||||
|
HealVTAmount = 0
|
||||||
|
ThrowDamage = 5
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_qkug6"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_qkug6"]
|
||||||
size = Vector3(0.371643, 0.289612, 0.286743)
|
size = Vector3(0.371643, 0.289612, 0.286743)
|
||||||
@@ -51,6 +54,7 @@ anchor_right = 1.0
|
|||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
stretch = true
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
|
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
|
||||||
transparent_bg = true
|
transparent_bg = true
|
||||||
|
|||||||
@@ -400,6 +400,7 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
|||||||
else if (currentItem is IUsableItem usableItem)
|
else if (currentItem is IUsableItem usableItem)
|
||||||
{
|
{
|
||||||
usableItem.Use();
|
usableItem.Use();
|
||||||
|
GameRepo.PlayerData.Inventory.Remove(usableItem);
|
||||||
if (_currentIndex >= ItemSlots.Length - 1)
|
if (_currentIndex >= ItemSlots.Length - 1)
|
||||||
_currentIndex--;
|
_currentIndex--;
|
||||||
if (_currentIndex <= 0)
|
if (_currentIndex <= 0)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1385,19 +1385,19 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.46669, -1.76808, 9.35347)
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
||||||
[node name="EnemySpawn1" type="Marker3D" parent="EnemySpawnPoints"]
|
[node name="EnemySpawn1" type="Marker3D" parent="EnemySpawnPoints"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.21313, -0.746347, -7.94688)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.21313, -1.98058, -7.94688)
|
||||||
|
|
||||||
[node name="EnemySpawn2" type="Marker3D" parent="EnemySpawnPoints"]
|
[node name="EnemySpawn2" type="Marker3D" parent="EnemySpawnPoints"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.27566, -1.12848, -7.94688)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.27566, -2.36271, -7.94688)
|
||||||
|
|
||||||
[node name="EnemySpawn3" type="Marker3D" parent="EnemySpawnPoints"]
|
[node name="EnemySpawn3" type="Marker3D" parent="EnemySpawnPoints"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.27566, -0.662478, 5.40586)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.27566, -1.89671, 5.40586)
|
||||||
|
|
||||||
[node name="EnemySpawn4" type="Marker3D" parent="EnemySpawnPoints"]
|
[node name="EnemySpawn4" type="Marker3D" parent="EnemySpawnPoints"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.5927, -0.720595, 5.40586)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.5927, -1.95482, 5.40586)
|
||||||
|
|
||||||
[node name="EnemySpawn5" type="Marker3D" parent="EnemySpawnPoints"]
|
[node name="EnemySpawn5" type="Marker3D" parent="EnemySpawnPoints"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.73702, -0.882075, 5.40586)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.73702, -2.1163, 5.40586)
|
||||||
|
|
||||||
[node name="ItemDatabase" parent="." instance=ExtResource("18_mnyg7")]
|
[node name="ItemDatabase" parent="." instance=ExtResource("18_mnyg7")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -1423,7 +1423,7 @@ shape = SubResource("BoxShape3D_acrk2")
|
|||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap Manager"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap Manager"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.301735, -2.00828, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.301735, -2.09192, 0)
|
||||||
visible = false
|
visible = false
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_24fob")
|
mesh = SubResource("PlaneMesh_24fob")
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ shape = SubResource("BoxShape3D_hs4wf")
|
|||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00341564, 1.40507, 0.645068)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00341564, 1.40507, 0.645068)
|
||||||
cull_mask = 1048573
|
cull_mask = 1048569
|
||||||
fov = 45.0
|
fov = 45.0
|
||||||
near = 0.001
|
near = 0.001
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user