Compare commits
3 Commits
bef1e9cb53
...
1dc1501b80
| Author | SHA1 | Date | |
|---|---|---|---|
| 1dc1501b80 | |||
| 9c625edef4 | |||
| 49d9489ede |
@@ -4,10 +4,20 @@ var screen_size = Vector2(1920.0, 1080.0) # Default screen size (this is a floa
|
||||
var viewport_size
|
||||
@onready var extent: Rect2 = get_viewport().get_visible_rect()
|
||||
|
||||
# Main menu & game spawning
|
||||
@onready
|
||||
var mainMenuScene = preload("res://main_menu.tscn").instantiate()
|
||||
@onready
|
||||
var gameScene = preload("res://molecular/molecular_stage.tscn").instantiate()
|
||||
|
||||
# utils.
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var eps: float = 1e-4
|
||||
|
||||
# managers
|
||||
@onready
|
||||
var foodManager = gameScene.get_node("FoodManager")
|
||||
|
||||
# A world "current"
|
||||
# polar
|
||||
var flow_dir: float # [0, 2pi)
|
||||
@@ -23,8 +33,12 @@ var t: float = 0.0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
# Create viewport
|
||||
viewport_size = get_viewport().get_visible_rect().size
|
||||
|
||||
# Create game (main menu)
|
||||
add_child(mainMenuScene)
|
||||
|
||||
# initial world current
|
||||
get_new_flow()
|
||||
|
||||
@@ -35,6 +49,8 @@ func _physics_process(delta: float) -> void:
|
||||
if abs(fmod(t, flowT)) < eps:
|
||||
get_new_flow()
|
||||
|
||||
func start_game() -> void:
|
||||
add_child(gameScene)
|
||||
|
||||
# TODO: This needs to be called from a script inheriting a CharacterBody2D (e.g. the player)
|
||||
# Alternative would be to pass the player reference to this script (which might be better?)
|
||||
|
||||
@@ -2,4 +2,6 @@ extends Control
|
||||
|
||||
|
||||
func _on_play_button_pressed() -> void:
|
||||
get_tree().change_scene_to_file("res://molecular/molecular_stage.tscn")
|
||||
print("Starting game by pressing button...")
|
||||
GameManager.start_game()
|
||||
self.queue_free()
|
||||
|
||||
6
evolve-die-repeat/main_scene.tscn
Normal file
6
evolve-die-repeat/main_scene.tscn
Normal file
@@ -0,0 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://b8gt8os2m28lv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vsbibc5fanou" path="res://game_manager.gd" id="1_0f027"]
|
||||
|
||||
[node name="MainScene" type="Node" unique_id=1897047571]
|
||||
script = ExtResource("1_0f027")
|
||||
@@ -47,4 +47,3 @@ func _on_entity_consumed() -> void:
|
||||
_currentCount = max(0, _currentCount-1)
|
||||
call_deferred("_spawn_minimum")
|
||||
|
||||
# TODO: Spawn food when an entity (any) dies
|
||||
|
||||
@@ -127,6 +127,6 @@ metadata/_custom_type_script = "uid://coetidfssb80w"
|
||||
|
||||
[node name="FoodManager" type="Node" parent="." unique_id=449460585]
|
||||
script = ExtResource("8_mys4o")
|
||||
foodTypes = [ExtResource("9_ojt85")]
|
||||
foodTypes = Array[PackedScene]([ExtResource("9_ojt85")])
|
||||
foodProbs = Array[float]([1.0])
|
||||
metadata/_custom_type_script = "uid://7ua0qgyhphao"
|
||||
|
||||
@@ -40,6 +40,7 @@ func handle_damage(dmg: int, src: Node) -> void:
|
||||
func die() -> void:
|
||||
sprite.play("Dying")
|
||||
wrapper.play_sprite("Dying")
|
||||
GameManager.foodManager._spawn_food(position)
|
||||
super.die()
|
||||
|
||||
func become_injured() -> void:
|
||||
|
||||
@@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||
[application]
|
||||
|
||||
config/name="EvolveDieRepeat"
|
||||
run/main_scene="uid://drgv154ei1vrl"
|
||||
run/main_scene="uid://b8gt8os2m28lv"
|
||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
@@ -25,7 +25,7 @@ GameManager="*res://game_manager.gd"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PackedStringArray("res://addons/godot-neovim/plugin.cfg")
|
||||
enabled=PackedStringArray()
|
||||
|
||||
[global_group]
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ func _spawn_creature(position: Vector2) -> void:
|
||||
instance.position = position
|
||||
add_child(instance)
|
||||
if instance.has_signal("died"):
|
||||
#instance.died.connect(GameManager.foodManager._spawn_food_on_position)
|
||||
instance.died.connect(_on_entity_died)
|
||||
|
||||
func _on_entity_died() -> void:
|
||||
|
||||
Reference in New Issue
Block a user