diff --git a/addons/receive-input-in-editor/plugin.cfg b/addons/receive-input-in-editor/plugin.cfg index 9957010..a84aaf8 100644 --- a/addons/receive-input-in-editor/plugin.cfg +++ b/addons/receive-input-in-editor/plugin.cfg @@ -3,5 +3,5 @@ name="Receive Input in Editor" description="" author="copygirl" -version="" +version="1.1.0" script="ReceiveInputInEditorPlugin.cs" diff --git a/addons/terrain-editing/TerrainEditingControls.tscn b/addons/terrain-editing/TerrainEditingControls.tscn new file mode 100644 index 0000000..2ddad88 --- /dev/null +++ b/addons/terrain-editing/TerrainEditingControls.tscn @@ -0,0 +1,27 @@ +[gd_scene format=3 uid="uid://bmljchm3fj42"] + +[node name="TerrainEditingControls" type="VBoxContainer"] +custom_minimum_size = Vector2(32, 0) +anchors_preset = 11 +anchor_left = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -20.0 +grow_horizontal = 0 +grow_vertical = 2 + +[node name="Button1" type="Button" parent="."] +layout_mode = 2 +text = "A" + +[node name="Button2" type="Button" parent="."] +layout_mode = 2 +text = "B" + +[node name="Button3" type="Button" parent="."] +layout_mode = 2 +text = "C" + +[node name="Button4" type="Button" parent="."] +layout_mode = 2 +text = "D" diff --git a/addons/terrain-editing/TerrainEditingPlugin.cs b/addons/terrain-editing/TerrainEditingPlugin.cs new file mode 100644 index 0000000..f1ef6e5 --- /dev/null +++ b/addons/terrain-editing/TerrainEditingPlugin.cs @@ -0,0 +1,30 @@ +#if TOOLS + +[Tool] +public partial class TerrainEditingPlugin + : EditorPlugin +{ + Control controls; + public override void _EnterTree() + { + var scene = GD.Load("res://addons/terrain-editing/TerrainEditingControls.tscn"); + controls = scene.Instantiate(); + } + + public override void _ExitTree() + { + controls.QueueFree(); + controls = null; + } + + public override bool _Handles(GodotObject obj) + => obj is Terrain; + + public override void _MakeVisible(bool visible) + { + var cont = CustomControlContainer.SpatialEditorSideRight; + if (visible) AddControlToContainer(cont, controls); + else RemoveControlFromContainer(cont, controls); + } +} +#endif diff --git a/addons/terrain-editing/plugin.cfg b/addons/terrain-editing/plugin.cfg new file mode 100644 index 0000000..d6598de --- /dev/null +++ b/addons/terrain-editing/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Terrain Editing" +description="" +author="copygirl" +version="1.0.0" +script="TerrainEditingPlugin.cs" diff --git a/project.godot b/project.godot index 3199b51..fd798f2 100644 --- a/project.godot +++ b/project.godot @@ -21,7 +21,7 @@ project/assembly_name="SlimeDream" [editor_plugins] -enabled=PackedStringArray("res://addons/receive-input-in-editor/plugin.cfg") +enabled=PackedStringArray("res://addons/receive-input-in-editor/plugin.cfg", "res://addons/terrain-editing/plugin.cfg") [input] diff --git a/terrain/Tile.cs b/terrain/Tile.cs index 839ae93..1872a6d 100644 --- a/terrain/Tile.cs +++ b/terrain/Tile.cs @@ -78,7 +78,7 @@ public struct Tile return null; return new(){ ["heights"] = Height.IsEqualApprox() ? Height.TopLeft : new[]{ Height.TopLeft, Height.TopRight, Height.BottomRight, Height.BottomLeft }, - ["texture"] = (TextureBlend == 0) ? TexturePrimary : new[]{ TexturePrimary, TextureSecondary, TextureBlend }, + ["texture"] = (TextureBlend == 0) ? TexturePrimary : new[]{ TexturePrimary, TextureSecondary, TextureBlend }, }; } }