main #7

Merged
minimata merged 2 commits from main into release/playtest-04-26 2026-04-22 14:20:38 +00:00
5 changed files with 71 additions and 24 deletions
Showing only changes of commit 99ed6375a2 - Show all commits

View File

@@ -0,0 +1,67 @@
using Godot;
using System;
using Movementtests.interfaces;
using Movementtests.systems;
public partial class MainSceneTemplate : Node3D
{
private Marker3D? _playerRespawnMarker;
private AnimationPlayer? _animationPlayer;
private Node3D? _respawnabble;
private Area3D? _playerFellPlane;
private Area3D? _deathPlane;
public override void _Ready()
{
_playerRespawnMarker = GetNode<Marker3D>("PlayerFellRespawn");
_animationPlayer = GetNode<AnimationPlayer>("AnimationPlayer");
_playerFellPlane = GetNode<Area3D>("PlayerFellTP");
_deathPlane = GetNode<Area3D>("DeathPlane");
if (_playerRespawnMarker == null) throw new Exception("Player respawn marker is null");
if (_animationPlayer == null) throw new Exception("Animation player is null");
if (_playerFellPlane == null) throw new Exception("Player reset plane is null");
if (_deathPlane == null) throw new Exception("Enemy death plane is null");
_playerFellPlane.BodyEntered += StartResetPlayerAnimation;
_deathPlane.BodyEntered += KillEnemy;
}
public void ResetPlayerPosition()
{
if (_respawnabble == null || _playerRespawnMarker == null) throw new Exception("Player or respawn marker is null");
_respawnabble.GlobalPosition = _playerRespawnMarker.GlobalPosition;
}
public void StartResetPlayerAnimation(Node3D body)
{
if (body is WeaponSystem weapon)
{
if (_playerRespawnMarker == null) throw new Exception("Respawn marker is null");
weapon.GlobalPosition = _playerRespawnMarker.GlobalPosition;
weapon.SetLinearVelocity(Vector3.Down);
return;
}
_respawnabble = body as PlayerController;
if (_respawnabble == null || _animationPlayer == null) throw new Exception("Player or anim player is null");
_animationPlayer.Play("player_fell");
}
public void KillEnemy(Node3D body)
{
if (body is not IKillable killable)
{
body.QueueFree();
return;
}
if (killable is not IHealthable healthable)
{
body.QueueFree();
return;
}
killable.Kill(healthable);
}
}

View File

@@ -0,0 +1 @@
uid://br0f18u1iou2d

View File

@@ -1,21 +0,0 @@
extends Node3D
@onready var player_fell_respawn: Marker3D = $PlayerFellRespawn
@onready var animation_player: AnimationPlayer = $AnimationPlayer
var _player: Node3D
func _on_player_fell_tp_body_entered(body: Node3D) -> void:
_player = body
animation_player.play("player_fell")
func reset_player_position() -> void:
if _player == null:
return
_player.position = player_fell_respawn.position
func _on_death_plane_body_entered(body: Node3D) -> void:
body.queue_free()

View File

@@ -1 +0,0 @@
uid://beof168aw2acj

View File

@@ -1,6 +1,6 @@
[gd_scene format=3 uid="uid://55wehh6xombr"] [gd_scene format=3 uid="uid://55wehh6xombr"]
[ext_resource type="Script" uid="uid://beof168aw2acj" path="res://maps/_templates/main_scene_template.gd" id="1_5g5a0"] [ext_resource type="Script" uid="uid://br0f18u1iou2d" path="res://maps/_templates/MainSceneTemplate.cs" id="1_5g5a0"]
[ext_resource type="PackedScene" uid="uid://bkcsjsk2ciff" path="res://addons/maaacks_game_template/base/scenes/music_players/background_music_player.tscn" id="2_roiv2"] [ext_resource type="PackedScene" uid="uid://bkcsjsk2ciff" path="res://addons/maaacks_game_template/base/scenes/music_players/background_music_player.tscn" id="2_roiv2"]
[ext_resource type="AudioStream" uid="uid://f8cvr5s041ej" path="res://assets/audio/ambiance/637083__nox_sound__ambiance_nature_night_cricket_calm_loop_stereo.wav" id="3_boadi"] [ext_resource type="AudioStream" uid="uid://f8cvr5s041ej" path="res://assets/audio/ambiance/637083__nox_sound__ambiance_nature_night_cricket_calm_loop_stereo.wav" id="3_boadi"]
[ext_resource type="Script" uid="uid://cupqhe3qv7ero" path="res://tools/general_manager.gd" id="3_k6got"] [ext_resource type="Script" uid="uid://cupqhe3qv7ero" path="res://tools/general_manager.gd" id="3_k6got"]
@@ -237,7 +237,7 @@ tracks/6/keys = {
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
"args": [], "args": [],
"method": &"reset_player_position" "method": &"ResetPlayerPosition"
}] }]
} }
@@ -300,6 +300,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 300, 0)
[node name="PlayerFellTP" type="Area3D" parent="." unique_id=1277888169] [node name="PlayerFellTP" type="Area3D" parent="." unique_id=1277888169]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -200, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -200, 0)
collision_layer = 0 collision_layer = 0
collision_mask = 65537
monitorable = false monitorable = false
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerFellTP" unique_id=1866249040] [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerFellTP" unique_id=1866249040]