Merge pull request 'feat(resource-test)-an-ui-test' (#4) from feat(resource-test)-an-ui-test into main
Some checks failed
Build Release / build (Linux/X11) (push) Failing after 2m9s
Build Release / build (Windows Desktop) (push) Failing after 1m33s
Build Release / build (macOS) (push) Failing after 1m34s
Build Release / build (Linux/X11) (pull_request) Failing after 1m34s
Build Release / build (Windows Desktop) (pull_request) Failing after 1m34s
Build Release / build (macOS) (pull_request) Failing after 1m34s

Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
2026-03-15 21:56:10 +01:00
17 changed files with 351 additions and 13 deletions

View File

@@ -0,0 +1,61 @@
name: Build Release
on:
push:
branches: [release]
pull_request:
branches: [release]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
preset: ["Windows Desktop", "Linux/X11", "macOS"]
steps:
- uses: actions/checkout@v5
- name: Extract version from CHANGELOG
id: changelog
uses: release-drafter/release-drafter@v5
with:
changelog-file: CHANGELOG.md
template: |
name: ${{ version }}
body: |
${{ description }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Create Release also creates an Tag
# - name: Create git tag
# uses: alazhar/gitea-action-autotag@v1
# with:
# tag: ${{ steps.changelog.outputs.version }}
- name: Build
id: build
uses: mlm-games/godot-build-action@v1
with:
EXPORT_PRESET_NAME: ${{ matrix.preset }}
- name: Upload builds
uses: actions/upload-artifact@v5
with:
name: godot-${{ matrix.preset }}-v${{ steps.changelog.outputs.version }}
path: godot-${{ matrix.preset }}-v${{ steps.changelog.outputs.version }}.tar.gz
- name: Create Release
uses: akkuman/gitea-release-action@v1
with:
server_url: ${{ SERVER_URL }}
tag_name: ${{ steps.changelog.outputs.version }}
name: "Release ${{ steps.changelog.outputs.version }}"
body: ${{ steps.changelog.outputs.description }}
files: |
godot-Windows Desktop-v${{ steps.changelog.outputs.version }}.tar.gz
godot-Linux/X11-v${{ steps.changelog.outputs.version }}.tar.gz
godot-macOS-v${{ steps.changelog.outputs.version }}.tar.gz
draft: false

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dng410xo7qqfv"
path="res://.godot/imported/a-moon.png-bce2eccded710c90add850f3ca7cb2e1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/PixelPlanets/a-moon.png"
dest_files=["res://.godot/imported/a-moon.png-bce2eccded710c90add850f3ca7cb2e1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

31
CHANGELOG.md Normal file
View File

@@ -0,0 +1,31 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
### Changed
### Removed
## [0.0.1] - 2026-03-15
### Added
- First inital release of the Expremerts
- Created Changelog
- Added pipline for sonar
- Added pipline for releases
- Created UI Elements to exit the game
- added four minigames to test
### Fixed
### Changed
### Removed

View File

@@ -0,0 +1,40 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.0.6 Chrome/138.0.7204.100 Electron/37.2.3 Safari/537.36" version="28.0.6">
<diagram name="Seite-1" id="8VUDw9VsU7XZE8zAJI22">
<mxGraphModel dx="575" dy="518" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="U4xH48hkQDtbZK23ePJW-3" value="2D Movement Drag Conept" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1">
<mxGeometry x="10" y="10" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-4" value="When&lt;br&gt;Left Click + Hold" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="40" y="120" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-5" value="Save Mouse Pos" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="130" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-6" value="Movement of mouse" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="40" y="250" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-7" value="New Mouse pos - old pos = move postions" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="260" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-8" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="210" as="sourcePoint" />
<mxPoint x="600" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-10" value="Click&lt;br&gt;PosA" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;" vertex="1" parent="1">
<mxGeometry x="380" y="130" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-11" value="Click Move&lt;br&gt;PosB" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;" vertex="1" parent="1">
<mxGeometry x="540" y="250" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="U4xH48hkQDtbZK23ePJW-12" value="Vector: 10x, -5y" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="540" y="130" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://pyvdyr3pes5o"
valid=false
[deps]
source_file="res://Games/SpaceResources/Planing/Movement 2D.svg"
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1,52 @@
extends Camera2D
class_name RecurionCamera
@export var movement_speed: float = 1
var mouse_pos_a: Vector2 = Vector2.ZERO
var mouse_pos_b: Vector2 = Vector2.ZERO
func _process(delta: float) -> void:
process_keyboard_input(delta)
process_mouse_input()
func process_keyboard_input(delta: float):
var direction: Vector2 = Vector2.ZERO
if (Input.is_action_pressed("w")):
direction += Vector2.UP
if (Input.is_action_pressed("s")):
direction += Vector2.DOWN
if (Input.is_action_pressed("a")):
direction += Vector2.LEFT
if (Input.is_action_pressed("d")):
direction += Vector2.RIGHT
direction = direction.normalized() * movement_speed
position += direction * delta * 100
func process_mouse_input():
if (Input.is_action_just_pressed("mouse_down")):
mouse_pos_a = get_global_mouse_position()
mouse_pos_b = mouse_pos_a
elif (Input.is_action_pressed("mouse_down")):
mouse_pos_b = get_global_mouse_position()
position = mouse_pos_a - mouse_pos_b + position
elif (Input.is_action_just_released("mouse_down")):
mouse_pos_a = Vector2.ZERO
mouse_pos_b = Vector2.ZERO
mouse_pos_b = mouse_pos_a
func _input(event: InputEvent) -> void:
if (event is InputEventMouseButton):
var zoom_value = Input.get_axis("scroll_down", "scroll_up")
if (zoom.y + zoom_value > 0.0):
zoom += Vector2.ONE * zoom_value

View File

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

16
Levels/Recuration.tscn Normal file
View File

@@ -0,0 +1,16 @@
[gd_scene format=3 uid="uid://cycayd4l7k7s4"]
[ext_resource type="Script" uid="uid://bqslv86lm78ci" path="res://Games/SpaceResources/Scripts/RecurionCamera.gd" id="1_002bs"]
[ext_resource type="Texture2D" uid="uid://dng410xo7qqfv" path="res://Assets/PixelPlanets/a-moon.png" id="2_qgdyp"]
[node name="Recuration" type="Node2D" unique_id=1741828961]
[node name="RecurionCamera" type="Camera2D" parent="." unique_id=997983592]
script = ExtResource("1_002bs")
movement_speed = 10.0
metadata/_custom_type_script = "uid://bqslv86lm78ci"
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=45756830]
texture_filter = 1
texture_repeat = 1
texture = ExtResource("2_qgdyp")

View File

@@ -1,3 +0,0 @@
[gd_scene format=3 uid="uid://b5n2k34r6e6j5"]
[node name="SpaceResources" type="Node2D" unique_id=1118282720]

View File

@@ -1,11 +1,13 @@
[gd_scene load_steps=5 format=3 uid="uid://djelupqdj4wgd"]
[gd_scene format=3 uid="uid://djelupqdj4wgd"]
[ext_resource type="Script" uid="uid://bel5yfuiqithe" path="res://open_level_component.gd" id="1_ig7tw"]
[ext_resource type="PackedScene" uid="uid://dgst4apmowe53" path="res://Levels/space_test.tscn" id="2_1bvp3"]
[ext_resource type="PackedScene" uid="uid://jynlgkm41y8d" path="res://Levels/space_move.tscn" id="3_lquwl"]
[ext_resource type="PackedScene" uid="uid://caj5t8q1fii5m" path="res://Levels/pid_test.tscn" id="4_7mycd"]
[ext_resource type="PackedScene" uid="uid://cycayd4l7k7s4" path="res://Levels/Recuration.tscn" id="5_lquwl"]
[ext_resource type="Script" uid="uid://lh1hhx4q8nlu" path="res://quit_game_component.gd" id="6_7mycd"]
[node name="Main" type="Control"]
[node name="Main" type="Control" unique_id=834120395]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -13,7 +15,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="."]
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1674123930]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -25,30 +27,47 @@ offset_bottom = -55.0
grow_horizontal = 2
grow_vertical = 2
[node name="Button" type="Button" parent="VBoxContainer"]
[node name="Button" type="Button" parent="VBoxContainer" unique_id=1520219681]
layout_mode = 2
text = "space_test"
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button"]
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button" unique_id=1834050455]
script = ExtResource("1_ig7tw")
level = ExtResource("2_1bvp3")
metadata/_custom_type_script = "uid://bel5yfuiqithe"
[node name="Button2" type="Button" parent="VBoxContainer"]
[node name="Button2" type="Button" parent="VBoxContainer" unique_id=93954602]
layout_mode = 2
text = "space_move
"
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button2"]
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button2" unique_id=1732413263]
script = ExtResource("1_ig7tw")
level = ExtResource("3_lquwl")
metadata/_custom_type_script = "uid://bel5yfuiqithe"
[node name="Button3" type="Button" parent="VBoxContainer"]
[node name="Button3" type="Button" parent="VBoxContainer" unique_id=1480596145]
layout_mode = 2
text = "pid_test"
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button3"]
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button3" unique_id=1820153918]
script = ExtResource("1_ig7tw")
level = ExtResource("4_7mycd")
metadata/_custom_type_script = "uid://bel5yfuiqithe"
[node name="Button4" type="Button" parent="VBoxContainer" unique_id=955421861]
layout_mode = 2
text = "Recuration"
[node name="OpenLevelComponent" type="Node" parent="VBoxContainer/Button4" unique_id=292657034]
script = ExtResource("1_ig7tw")
level = ExtResource("5_lquwl")
metadata/_custom_type_script = "uid://bel5yfuiqithe"
[node name="Button5" type="Button" parent="VBoxContainer" unique_id=630288499]
layout_mode = 2
text = "Exit Experements"
[node name="QuitGame" type="Node" parent="VBoxContainer/Button5" unique_id=1111277542]
script = ExtResource("6_7mycd")
metadata/_custom_type_script = "uid://lh1hhx4q8nlu"

View File

@@ -8,11 +8,15 @@
config_version=5
[animation]
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
[application]
config/name="Experements"
run/main_scene="uid://djelupqdj4wgd"
config/features=PackedStringArray("4.5", "Forward Plus")
config/features=PackedStringArray("4.6", "Forward Plus")
boot_splash/bg_color=Color(0, 0, 0, 1)
config/icon="res://icon.svg"
@@ -57,6 +61,21 @@ main_menue={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
scroll_up={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":8,"position":Vector2(275, 26),"global_position":Vector2(287, 86),"factor":1.0,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
scroll_down={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(339, 31),"global_position":Vector2(351, 91),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
mouse_down={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(253, 29),"global_position":Vector2(265, 89),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
[physics]
@@ -66,3 +85,7 @@ main_menue={
3d/default_angular_damp=0.0
3d/sleep_threshold_linear=0.01
3d/sleep_threshold_angular=0.00872665
[rendering]
environment/defaults/default_clear_color=Color(0, 0, 0, 1)

14
quit_game_component.gd Normal file
View File

@@ -0,0 +1,14 @@
extends Node
class_name QuitGame
@onready var button: Button = get_parent() as Button
func _ready() -> void:
button.pressed.connect(_on_button_pressed)
button.name = button.text
func _on_button_pressed() -> void:
get_tree().quit(0)

View File

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