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
|
var viewport_size
|
||||||
@onready var extent: Rect2 = get_viewport().get_visible_rect()
|
@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.
|
# utils.
|
||||||
var rng = RandomNumberGenerator.new()
|
var rng = RandomNumberGenerator.new()
|
||||||
var eps: float = 1e-4
|
var eps: float = 1e-4
|
||||||
|
|
||||||
|
# managers
|
||||||
|
@onready
|
||||||
|
var foodManager = gameScene.get_node("FoodManager")
|
||||||
|
|
||||||
# A world "current"
|
# A world "current"
|
||||||
# polar
|
# polar
|
||||||
var flow_dir: float # [0, 2pi)
|
var flow_dir: float # [0, 2pi)
|
||||||
@@ -23,8 +33,12 @@ var t: float = 0.0
|
|||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
# Create viewport
|
||||||
viewport_size = get_viewport().get_visible_rect().size
|
viewport_size = get_viewport().get_visible_rect().size
|
||||||
|
|
||||||
|
# Create game (main menu)
|
||||||
|
add_child(mainMenuScene)
|
||||||
|
|
||||||
# initial world current
|
# initial world current
|
||||||
get_new_flow()
|
get_new_flow()
|
||||||
|
|
||||||
@@ -35,6 +49,8 @@ func _physics_process(delta: float) -> void:
|
|||||||
if abs(fmod(t, flowT)) < eps:
|
if abs(fmod(t, flowT)) < eps:
|
||||||
get_new_flow()
|
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)
|
# 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?)
|
# 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:
|
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)
|
_currentCount = max(0, _currentCount-1)
|
||||||
call_deferred("_spawn_minimum")
|
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]
|
[node name="FoodManager" type="Node" parent="." unique_id=449460585]
|
||||||
script = ExtResource("8_mys4o")
|
script = ExtResource("8_mys4o")
|
||||||
foodTypes = [ExtResource("9_ojt85")]
|
foodTypes = Array[PackedScene]([ExtResource("9_ojt85")])
|
||||||
foodProbs = Array[float]([1.0])
|
foodProbs = Array[float]([1.0])
|
||||||
metadata/_custom_type_script = "uid://7ua0qgyhphao"
|
metadata/_custom_type_script = "uid://7ua0qgyhphao"
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ func handle_damage(dmg: int, src: Node) -> void:
|
|||||||
func die() -> void:
|
func die() -> void:
|
||||||
sprite.play("Dying")
|
sprite.play("Dying")
|
||||||
wrapper.play_sprite("Dying")
|
wrapper.play_sprite("Dying")
|
||||||
|
GameManager.foodManager._spawn_food(position)
|
||||||
super.die()
|
super.die()
|
||||||
|
|
||||||
func become_injured() -> void:
|
func become_injured() -> void:
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="EvolveDieRepeat"
|
config/name="EvolveDieRepeat"
|
||||||
run/main_scene="uid://drgv154ei1vrl"
|
run/main_scene="uid://b8gt8os2m28lv"
|
||||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ GameManager="*res://game_manager.gd"
|
|||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
enabled=PackedStringArray("res://addons/godot-neovim/plugin.cfg")
|
enabled=PackedStringArray()
|
||||||
|
|
||||||
[global_group]
|
[global_group]
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ func _spawn_creature(position: Vector2) -> void:
|
|||||||
instance.position = position
|
instance.position = position
|
||||||
add_child(instance)
|
add_child(instance)
|
||||||
if instance.has_signal("died"):
|
if instance.has_signal("died"):
|
||||||
|
#instance.died.connect(GameManager.foodManager._spawn_food_on_position)
|
||||||
instance.died.connect(_on_entity_died)
|
instance.died.connect(_on_entity_died)
|
||||||
|
|
||||||
func _on_entity_died() -> void:
|
func _on_entity_died() -> void:
|
||||||
|
|||||||
Reference in New Issue
Block a user