From 7d0e0b23bde3f6ab48eb71a5c7dff4aab3534bcd Mon Sep 17 00:00:00 2001 From: Martin Felis Date: Fri, 29 Dec 2023 09:26:43 +0100 Subject: [PATCH] Added TileTypeInfo to store tile masks. --- entities/Entity.cs | 11 +++ materials/WorldTileTypeMaterial.tres | 2 +- materials/shader/WorldTileTypeShader.gdshader | 2 +- project.godot | 5 + scenes/Game.tscn | 56 ++++++++++- scenes/HexTile3D.cs | 21 ++--- scenes/NoiseWorldGeneration2D.tscn | 2 +- scenes/StreamContainer.cs | 3 - scenes/TileWorld.cs | 10 -- scenes/TileWorld.tscn | 2 +- scenes/World.cs | 92 ++++++++++++++----- scenes/WorldChunk.cs | 2 +- scenes/WorldChunk.tscn | 2 +- scenes/tests/NavigationTests.cs | 7 +- ui/WorldGeneratorUI.gd | 8 +- 15 files changed, 162 insertions(+), 63 deletions(-) diff --git a/entities/Entity.cs b/entities/Entity.cs index bda848f..d9ecc81 100644 --- a/entities/Entity.cs +++ b/entities/Entity.cs @@ -1,6 +1,17 @@ +using System; using Godot; public class Entity : KinematicBody { + [Flags] + public enum EntityMaskEnum { + Obstacle = 1 << 1, + Ground = 1 << 2, + Water = 1 << 3 + } + + [Export(PropertyHint.Flags, "Obstacle,Ground,Water")] + public int EntityMask { get; set; } + public Vector3 Velocity { get; set; } = Vector3.Zero; public float RotationalVelocity { get; set; } = 0; diff --git a/materials/WorldTileTypeMaterial.tres b/materials/WorldTileTypeMaterial.tres index b8d32a4..dafb297 100644 --- a/materials/WorldTileTypeMaterial.tres +++ b/materials/WorldTileTypeMaterial.tres @@ -5,7 +5,7 @@ [resource] shader = ExtResource( 1 ) shader_param/DeepWaterColor = Color( 0, 0, 0.6, 1 ) -shader_param/WaterColor = Color( 0, 0, 0.7, 1 ) +shader_param/WaterColor = Color( 0, 0, 0.698039, 1 ) shader_param/LightWaterColor = Color( 0, 0, 1, 1 ) shader_param/SandColor = Color( 0.8, 0.8, 0.1, 1 ) shader_param/GrassColor = Color( 0, 0.6, 0, 1 ) diff --git a/materials/shader/WorldTileTypeShader.gdshader b/materials/shader/WorldTileTypeShader.gdshader index fe73ef6..59382cf 100644 --- a/materials/shader/WorldTileTypeShader.gdshader +++ b/materials/shader/WorldTileTypeShader.gdshader @@ -56,7 +56,7 @@ void fragment() { // COLOR.rgb = color_ramp(texture_color.r * borderFalloffCircle(UV) * 1.8); COLOR.rgb = color_ramp(texture_color.r * texture(TextureMask, UV).r); - COLOR.a = 0.8; + COLOR.a = 1.0; // COLOR.rgb = vec3(1, 0, 0); } diff --git a/project.godot b/project.godot index 38ec882..a00bed8 100644 --- a/project.godot +++ b/project.godot @@ -114,6 +114,11 @@ Right={ "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null) ] } +ToggleMainMenu={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777217,"unicode":0,"echo":false,"script":null) + ] +} [layer_names] diff --git a/scenes/Game.tscn b/scenes/Game.tscn index 83467a8..cb35a4f 100644 --- a/scenes/Game.tscn +++ b/scenes/Game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=15 format=2] [ext_resource path="res://ui/WorldGeneratorWidget.gd" type="Script" id=1] [ext_resource path="res://entities/Player.tscn" type="PackedScene" id=2] @@ -7,6 +7,7 @@ [ext_resource path="res://utils/TileHighlight.tscn" type="PackedScene" id=5] [ext_resource path="res://ui/DebugStatsContainer.gd" type="Script" id=6] [ext_resource path="res://scenes/World.tscn" type="PackedScene" id=7] +[ext_resource path="res://ui/WorldGeneratorUI.tscn" type="PackedScene" id=8] [ext_resource path="res://scenes/Game.cs" type="Script" id=9] [ext_resource path="res://entities/Chest.tscn" type="PackedScene" id=11] [ext_resource path="res://entities/Axe.tscn" type="PackedScene" id=14] @@ -352,6 +353,7 @@ script = ExtResource( 15 ) [node name="NavigationSystem" type="Node" parent="."] [node name="Player" parent="." instance=ExtResource( 2 )] +EntityMask = 2 WorldNode = NodePath("../World") [node name="WorldInfo" parent="Player" index="2"] @@ -371,6 +373,7 @@ input_ray_pickable = false [node name="Chest" parent="Entities" instance=ExtResource( 11 )] transform = Transform( -0.825665, 0, 0.56416, 0, 1, 0, -0.56416, 0, -0.825665, -3.27709, 0, 1.02593 ) +EntityMask = 3 [node name="World" parent="." instance=ExtResource( 7 )] @@ -379,9 +382,60 @@ transform = Transform( 0.328059, -0.878387, 0.347583, 0, 0.367946, 0.929847, -0. shadow_enabled = true directional_shadow_mode = 0 +[node name="GameMenu" type="Control" parent="."] +visible = false +anchor_left = 0.1 +anchor_top = 0.1 +anchor_right = 0.9 +anchor_bottom = 0.9 + +[node name="Panel" type="Panel" parent="GameMenu"] +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="MainMenu" type="VBoxContainer" parent="GameMenu/Panel"] +visible = false +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -41.0 +margin_top = -10.0 +margin_right = 41.0 +margin_bottom = 10.0 + +[node name="NewGameButton" type="Button" parent="GameMenu/Panel/MainMenu"] +margin_right = 82.0 +margin_bottom = 20.0 +text = "New Game" + +[node name="QuitButton" type="Button" parent="GameMenu/Panel/MainMenu"] +margin_top = 24.0 +margin_right = 82.0 +margin_bottom = 44.0 +text = "Quit" + +[node name="WorldGeneratorUI" parent="GameMenu/Panel" instance=ExtResource( 8 )] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -143.5 +margin_top = -160.0 +margin_right = 143.5 +margin_bottom = 160.0 + +[node name="VBoxContainer" parent="GameMenu/Panel/WorldGeneratorUI" index="0"] +margin_left = 0.0 +margin_top = 41.0 +margin_right = 287.0 +margin_bottom = 279.0 + [connection signal="toggled" from="DebugContainer/DebugStatsContainer/DebugMenuButton" to="DebugContainer/DebugStatsContainer" method="_on_DebugMenuButton_toggled"] [connection signal="value_changed" from="Generator Container/WorldGeneratorWidget/HBoxContainer/WorldSizeSlider" to="Generator Container/WorldGeneratorWidget" method="_on_HSlider_value_changed"] [connection signal="toggled" from="Generator Container/WorldGeneratorWidget/ShowTexturesCheckButton" to="Generator Container/WorldGeneratorWidget" method="_on_ShowTexturesCheckButton_toggled"] [editable path="Player"] [editable path="Player/Geometry/PirateAsset"] +[editable path="World"] +[editable path="GameMenu/Panel/WorldGeneratorUI"] diff --git a/scenes/HexTile3D.cs b/scenes/HexTile3D.cs index 4f8beff..e7a65fb 100644 --- a/scenes/HexTile3D.cs +++ b/scenes/HexTile3D.cs @@ -2,14 +2,17 @@ using System.Diagnostics; using Godot; public class HexTile3D : Spatial { - public enum TileType { - Undefined, - Sand, - Grass, - DeepGrass - } + public class TileTypeInfo { + public readonly string Name; + public readonly Color Color; + public readonly ushort TileTypeMask; - public static TileType[] ValidTileTypes = { TileType.Sand, TileType.Grass, TileType.DeepGrass }; + public TileTypeInfo(string name, Color color, ushort tileTypeMask) { + Name = name; + Color = color; + TileTypeMask = tileTypeMask; + } + } // scene nodes private MeshInstance _mesh; @@ -44,8 +47,6 @@ public class HexTile3D : Spatial { } } - public TileType Type { get; set; } - private HexTile3D() { _hexGrid = new HexGrid(); } @@ -61,8 +62,6 @@ public class HexTile3D : Spatial { Mesh = GetNode("Mesh"); Debug.Assert(Mesh != null); - - Type = TileType.Undefined; } diff --git a/scenes/NoiseWorldGeneration2D.tscn b/scenes/NoiseWorldGeneration2D.tscn index bb07411..037222b 100644 --- a/scenes/NoiseWorldGeneration2D.tscn +++ b/scenes/NoiseWorldGeneration2D.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=2] -[ext_resource path="res://materials/IslandColorRampShader.tres" type="Material" id=1] +[ext_resource path="res://materials/WorldTileTypeMaterial.tres" type="Material" id=1] [sub_resource type="OpenSimplexNoise" id=3] seed = 57 diff --git a/scenes/StreamContainer.cs b/scenes/StreamContainer.cs index 1d08221..a818a69 100644 --- a/scenes/StreamContainer.cs +++ b/scenes/StreamContainer.cs @@ -161,7 +161,6 @@ public class StreamContainer : Spatial { } else { HexTile3D tile3D = _unusedTiles.Dequeue(); tile3D.OffsetCoords = coord; - tile3D.Type = TileWorld.GetTileTypeAtOffset(coord); Transform tileTransform = tile3D.Transform; tileTransform.origin.y = TileWorld.GetHeightAtOffset(coord); tile3D.Transform = tileTransform; @@ -191,7 +190,6 @@ public class StreamContainer : Spatial { Transform tileTransform = tile3D.Transform; tileTransform.origin.y = TileWorld.GetHeightAtOffset(offsetCoords); tile3D.Transform = tileTransform; - tile3D.Type = TileWorld.GetTileTypeAtOffset(offsetCoords); _tileToInstanceIndex[tile3D] = _tileToInstanceIndex.Count; @@ -238,7 +236,6 @@ public class StreamContainer : Spatial { int instanceIndex = _tileToInstanceIndex[tile3D]; _tileMultiMesh.Multimesh.SetInstanceTransform(instanceIndex, _deactivatedTileTransform); - tile3D.Type = HexTile3D.TileType.Undefined; _unusedTiles.Enqueue(tile3D); _coordToTile.Remove(coord); RemovedCoords.Add(coord); diff --git a/scenes/TileWorld.cs b/scenes/TileWorld.cs index e13ca31..e039c94 100644 --- a/scenes/TileWorld.cs +++ b/scenes/TileWorld.cs @@ -372,16 +372,6 @@ public class TileWorld : Spatial { && (int)Math.Clamp(offsetCoord.y, -(float)Size / 2, (float)Size / 2 - 1) == (int)offsetCoord.y); } - - public HexTile3D.TileType GetTileTypeAtOffset(Vector2 offsetCoord) { - if (!IsOffsetCoordValid(offsetCoord)) { - return HexTile3D.TileType.Undefined; - } - - return HexTile3D.ValidTileTypes[_tileTypeRandom.Next(HexTile3D.ValidTileTypes.Length)]; - } - - public Vector2 OffsetToTextureCoord(Vector2 offsetCoord) { Vector2 mapSize = Vector2.One * Size; Vector2 textureCoord = (offsetCoord + mapSize / 2).PosMod(mapSize); diff --git a/scenes/TileWorld.tscn b/scenes/TileWorld.tscn index 3e04e65..567fd14 100644 --- a/scenes/TileWorld.tscn +++ b/scenes/TileWorld.tscn @@ -2,7 +2,7 @@ [ext_resource path="res://scenes/TileWorld.cs" type="Script" id=1] [ext_resource path="res://icon.png" type="Texture" id=2] -[ext_resource path="res://materials/IslandColorRampShader.tres" type="Material" id=3] +[ext_resource path="res://materials/WorldTileTypeMaterial.tres" type="Material" id=3] [ext_resource path="res://materials/IslandHeightmapFalloffShader.tres" type="Material" id=4] [ext_resource path="res://entities/rockB.tscn" type="PackedScene" id=5] [ext_resource path="res://entities/rockC.tscn" type="PackedScene" id=6] diff --git a/scenes/World.cs b/scenes/World.cs index 88af4e0..44c683c 100644 --- a/scenes/World.cs +++ b/scenes/World.cs @@ -19,10 +19,9 @@ public class World : Spatial { public int ChunkSize = 14; public const int NumChunkRows = 3; public const int NumChunkColumns = NumChunkRows; - private static readonly Color RockColor = new(0.5f, 0.5f, 0.4f); - private static readonly Color GrassColor = new(0, 0.4f, 0); - private static readonly Color DarkGrassColor = new(0.05882353f, 0.5411765f, 0.05882353f); - private static readonly Color LightWaterColor = new(0.05882353f, 0.05882353f, 0.8627451f); + + + private readonly System.Collections.Generic.Dictionary _tileTypeInfos = new(); private readonly Godot.Collections.Dictionary _cachedWorldChunks; private readonly List _addedChunkIndices = new(); @@ -41,7 +40,6 @@ public class World : Spatial { // delegate void OnCoordClicked(Vector2 world_pos); // other members - private Vector2 _centerPlaneCoord; private Vector2 _chunkIndexNorthEast; private Vector2 _chunkIndexSouthWest; private Array _grassAssets; @@ -62,7 +60,6 @@ public class World : Spatial { public GenerationState State = GenerationState.Empty; public Vector2 WorldTextureCoordinateOffset; - // ui elements // scene nodes @@ -124,6 +121,24 @@ public class World : Spatial { foreach (Spatial asset in GetNode("Assets/Trees").GetChildren()) { _treeAssets.Add(asset); } + + _tileTypeInfos[0] = new HexTile3D.TileTypeInfo("Undefined", Colors.Black, 0xffff); + LoadTileTypeInfo("DeepWater", (int)Entity.EntityMaskEnum.Water); + LoadTileTypeInfo("Water", (int)Entity.EntityMaskEnum.Water); + LoadTileTypeInfo("LightWater", (int)Entity.EntityMaskEnum.Water); + LoadTileTypeInfo("Sand", (int)Entity.EntityMaskEnum.Ground); + LoadTileTypeInfo("Grass", (int)Entity.EntityMaskEnum.Ground); + LoadTileTypeInfo("Forest", (int)Entity.EntityMaskEnum.Ground); + LoadTileTypeInfo("Rock", (int)Entity.EntityMaskEnum.Ground); + LoadTileTypeInfo("Sand", (int)Entity.EntityMaskEnum.Ground); + } + + private void LoadTileTypeInfo(string tileTypeName, ushort tileTypeMask) { + ShaderMaterial worldTileTypeShaderMaterial = + GD.Load("res://materials/WorldTileTypeMaterial.tres"); + + Color tileTypeColor = (Color)worldTileTypeShaderMaterial.GetShaderParam(tileTypeName + "Color"); + _tileTypeInfos[tileTypeColor.ToRgba32()] = new HexTile3D.TileTypeInfo(tileTypeName, tileTypeColor, tileTypeMask); } public void InitNoiseGenerator() { @@ -232,18 +247,18 @@ public class World : Spatial { foreach (int textureCoordU in Enumerable.Range(0, chunk.Size)) { foreach (int textureCoordV in Enumerable.Range(0, chunk.Size)) { - Color colorValue = chunk.TileTypeImage.GetPixel(textureCoordU, textureCoordV); Vector2 textureCoord = new(textureCoordU, textureCoordV); Vector2 offsetCoord = chunk.ChunkIndex * ChunkSize + textureCoord; - if (IsColorEqualApprox(colorValue, RockColor)) { + HexTile3D.TileTypeInfo tileTypeInfo = GetTileTypeInfoAtOffset(offsetCoord); + + if (tileTypeInfo.Name == "Rock") { Spatial rockAsset = SelectAsset(textureCoord, _rockAssets, environmentRandom, 0.15); if (rockAsset != null) { chunk.Entities.AddChild(rockAsset); MarkCellUnwalkable(HexGrid.GetHexAtOffset(offsetCoord)); } - } else if (IsColorEqualApprox(colorValue, GrassColor) || - IsColorEqualApprox(colorValue, DarkGrassColor)) { + } else if (tileTypeInfo.Name == "Grass" || tileTypeInfo.Name == "DarkGrass") { Spatial grassAsset = SelectAsset(textureCoord, _grassAssets, environmentRandom, 0.15); if (grassAsset != null) { chunk.Entities.AddChild(grassAsset); @@ -334,7 +349,7 @@ public class World : Spatial { State = GenerationState.Heightmap; } } - + WorldChunk currentChunk = GetOrCreateWorldChunk(CenterChunkIndex, new Color(GD.Randf(), GD.Randf(), GD.Randf())); @@ -431,7 +446,7 @@ public class World : Spatial { _heightmapTexture.CreateFromImage(_heightmapImage); _viewTileTypeTexture = new ImageTexture(); - _viewTileTypeTexture.CreateFromImage(_tileTypeMapImage); + _viewTileTypeTexture.CreateFromImage(_tileTypeMapImage, (uint)Texture.FlagsEnum.ConvertToLinear); WorldTextureCoordinateOffset = _chunkIndexSouthWest * worldChunkSize; @@ -463,27 +478,46 @@ public class World : Spatial { public float GetHexCost(Entity entity, HexCell cell) { float nextHexCost = HexGrid.GetHexCost(cell); + if (nextHexCost != 0) { Vector2 nextOffset = cell.OffsetCoords; - Vector2 chunkIndex = GetChunkIndexFromOffsetCoord(nextOffset); + Color tileTypeColor = GetTileTypeColorAtOffset(nextOffset); - if (!_cachedWorldChunks.ContainsKey(chunkIndex)) { - return 0; - } - - WorldChunk chunk = _cachedWorldChunks[chunkIndex]; - Vector2 textureCoordinate = nextOffset - Vector2.One * ChunkSize * chunkIndex; - - Color tileTypeColor = chunk.TileTypeImage.GetPixel((int)textureCoordinate.x, (int)textureCoordinate.y); - if (!IsColorEqualApprox(tileTypeColor, GrassColor) && - !IsColorEqualApprox(tileTypeColor, DarkGrassColor)) { - nextHexCost = 0; + if (_tileTypeInfos.TryGetValue(tileTypeColor.ToRgba32(), out HexTile3D.TileTypeInfo info)) { + int tileTypeMask = info.TileTypeMask; + if ((entity.EntityMask ^ tileTypeMask) != 0) { + nextHexCost = 0; + } } + // GD.Print("Could not find tile type info for color " + tileTypeColor); } return nextHexCost; } + private HexTile3D.TileTypeInfo GetTileTypeInfoAtOffset(Vector2 offsetCoord) { + Color tileTypeColor = GetTileTypeColorAtOffset(offsetCoord); + if (_tileTypeInfos.TryGetValue(tileTypeColor.ToRgba32(), out HexTile3D.TileTypeInfo info)) { + return info; + } + + return _tileTypeInfos[0]; + } + + public Color GetTileTypeColorAtOffset(Vector2 offsetCoord) { + Vector2 chunkIndex = GetChunkIndexFromOffsetCoord(offsetCoord); + + if (!_cachedWorldChunks.ContainsKey(chunkIndex)) { + return Colors.Black; + } + + WorldChunk chunk = _cachedWorldChunks[chunkIndex]; + Vector2 textureCoordinate = offsetCoord - Vector2.One * ChunkSize * chunkIndex; + + Color tileTypeColor = chunk.TileTypeImage.GetPixel((int)textureCoordinate.x, (int)textureCoordinate.y); + return tileTypeColor; + } + public float GetMoveCost(Entity entity, HexCell currentHex, HexCell nextHex) { if (GetHexCost(entity, nextHex) == 0) { return 0; @@ -706,11 +740,21 @@ public class World : Spatial { } public void OnTileClicked(HexTile3D tile) { + if (State != GenerationState.Done) { + return; + } + EmitSignal("TileClicked", tile); } public void OnTileHovered(HexTile3D tile) { + if (State != GenerationState.Done) { + return; + } + EmitSignal("TileHovered", tile); + HexTile3D.TileTypeInfo tileTypeInfo = GetTileTypeInfoAtOffset(tile.OffsetCoords); + GD.Print("Hover on TileType " + tileTypeInfo.Name + " color: " + tileTypeInfo.Color); } public void OnBlockingSpatialRemoved(Spatial spatialNode) { diff --git a/scenes/WorldChunk.cs b/scenes/WorldChunk.cs index d2bf46c..8ece8a0 100644 --- a/scenes/WorldChunk.cs +++ b/scenes/WorldChunk.cs @@ -31,7 +31,7 @@ public class WorldChunk : Spatial { public Viewport HeightmapOffscreenViewport; [Export] public Texture NavigationMap; - public bool NoiseTextureCheckerboardOverlay = true; + public bool NoiseTextureCheckerboardOverlay = false; // signals [Signal] diff --git a/scenes/WorldChunk.tscn b/scenes/WorldChunk.tscn index 1b07b80..a22c737 100644 --- a/scenes/WorldChunk.tscn +++ b/scenes/WorldChunk.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=10 format=2] [ext_resource path="res://scenes/WorldChunk.cs" type="Script" id=1] -[ext_resource path="res://materials/IslandColorRampShader.tres" type="Material" id=2] +[ext_resource path="res://materials/WorldTileTypeMaterial.tres" type="Material" id=2] [ext_resource path="res://assets/TestHeightmap.tres" type="Texture" id=3] [ext_resource path="res://assets/4x4checkerColor.png" type="Texture" id=4] [ext_resource path="res://addons/gdhexgrid/icon.png" type="Texture" id=6] diff --git a/scenes/tests/NavigationTests.cs b/scenes/tests/NavigationTests.cs index 966dbfa..dc0bcc6 100644 --- a/scenes/tests/NavigationTests.cs +++ b/scenes/tests/NavigationTests.cs @@ -12,7 +12,6 @@ public class NavigationTests : Spatial { private EditorUI _editorUi; private World _world; - private StreamContainer _streamContainer; private Player _player; private NavigationComponent _playerNavigationComponent; @@ -30,7 +29,7 @@ public class NavigationTests : Spatial { _player = GetNode("Player"); _playerNavigationComponent = _player.GetNode("Navigation"); - + // connect signals _world.Connect("TileClicked", this, nameof(OnTileClicked)); _world.Connect("TileHovered", this, nameof(OnTileHovered)); @@ -59,7 +58,7 @@ public class NavigationTests : Spatial { entity.GlobalTranslation = entityGlobalTranslation; } } - + private void OnHeightmapImageChanged(Image heightmapImage) { ImageTexture newHeightmapTexture = new(); newHeightmapTexture.CreateFromImage(heightmapImage, @@ -76,7 +75,7 @@ public class NavigationTests : Spatial { _tileMaterial.SetShaderParam("CoordinateOffsetU", (int)_world.WorldTextureCoordinateOffset.x); _tileMaterial.SetShaderParam("CoordinateOffsetV", (int)_world.WorldTextureCoordinateOffset.y); } - + public void UpdateCurrentTile(HexCell tile) { if (_currentTile.AxialCoords == tile.AxialCoords) { diff --git a/ui/WorldGeneratorUI.gd b/ui/WorldGeneratorUI.gd index 52c6df1..7069948 100644 --- a/ui/WorldGeneratorUI.gd +++ b/ui/WorldGeneratorUI.gd @@ -2,7 +2,7 @@ extends CenterContainer onready var SeedLineEdit: LineEdit onready var ChunkSizeSpinBox: SpinBox -onready var GameScene: PackedScene = preload ("res://scenes/Game.tscn") +#onready var GameScene: PackedScene = preload ("res://scenes/Game.tscn") func _ready(): SeedLineEdit = find_node("SeedLineEdit") @@ -19,8 +19,8 @@ func _on_RefreshSeedButton_pressed(): func _on_GenerateButton_pressed(): - var game_scene_instance = GameScene.instance() +# var game_scene_instance = GameScene.instance() self.visible = false - get_tree().get_root().add_child(game_scene_instance) - game_scene_instance.StartNewGame(int(SeedLineEdit.text), int(ChunkSizeSpinBox.value)) +# get_tree().get_root().add_child(game_scene_instance) +# game_scene_instance.StartNewGame(int(SeedLineEdit.text), int(ChunkSizeSpinBox.value))