Compare commits
80 Commits
755d228902
...
release
| Author | SHA1 | Date | |
|---|---|---|---|
| 75fb76ef03 | |||
| 36ca9ba5ea | |||
| 172fc7669b | |||
| 0a92f7b461 | |||
| d03874f5e7 | |||
| 987e4300ab | |||
| 991f9f4bec | |||
| 5c35a1beed | |||
| 86274ab1bf | |||
| 248496db91 | |||
| 926a1e8aa0 | |||
| 71e37b0b55 | |||
| 81dca211b5 | |||
| f16838c81c | |||
| 0d14d27a0b | |||
| 3c619c9613 | |||
| fd52dc9c1c | |||
| 40d8d8753d | |||
| 051c822bd5 | |||
| 3ab31fe40b | |||
| 376c1b5225 | |||
| 03787a82fc | |||
| bc9f0b9f27 | |||
| 1aa0dbf544 | |||
| ebe34e1750 | |||
| c9743d65b7 | |||
| 70c407b5f9 | |||
| aa6ac812cf | |||
| a34ca8af46 | |||
| 72601467e4 | |||
| 7d9d107d65 | |||
| ef8e3d7d15 | |||
| c287fd8404 | |||
| 2c3b9e458d | |||
| 9322a8f723 | |||
| 191f94892b | |||
| 7dfdd4c2c8 | |||
| fbfa81b9aa | |||
| 6370bb5b09 | |||
| 751a3b1a17 | |||
| 3aa520203e | |||
| 4a27ae75d3 | |||
| 756281ab0b | |||
| 651abb6fef | |||
| 6b91985c84 | |||
| b58012bb90 | |||
| b983f41f75 | |||
| d788285d18 | |||
| 4a6703f79a | |||
| 560b04bba2 | |||
| 7522d45bbd | |||
| 80c905bcef | |||
| ba84004adc | |||
| 966951654a | |||
| 905c2d7666 | |||
| de51310f94 | |||
| 82e3ca5182 | |||
| d8f6478b18 | |||
| 8ae9b00b5a | |||
| aa4a8e9fb3 | |||
| ef88e5e91d | |||
| 075521b991 | |||
| 99b2a8bbe3 | |||
| 11dd732cd0 | |||
| 3bbefa9647 | |||
| e7e628992a | |||
| de01511619 | |||
| aae15b0b50 | |||
| 80f2860ba1 | |||
| 9c806e5a3e | |||
| f2fb6bb2e6 | |||
| 0e5093bb30 | |||
| 01a8d44a29 | |||
| f25aec14c8 | |||
| 8b56427870 | |||
| b94d92034d | |||
| fc17fe781f | |||
| 8cc5b66281 | |||
| aef1db2e9a | |||
| 789c4cf2c9 |
202
.gitea/workflows/release.yml
Normal file
202
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
name: Build Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [release]
|
||||||
|
pull_request:
|
||||||
|
branches: [release]
|
||||||
|
|
||||||
|
env:
|
||||||
|
GODOT_VERSION: 4.6.1
|
||||||
|
EXPORT_NAME: Experements
|
||||||
|
PROJECT_PATH: .
|
||||||
|
BLENDER_VERSION: 5.0.0
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
export-windows:
|
||||||
|
name: Windows Export
|
||||||
|
runs-on: ubuntu-24.04 # Use 24.04 with godot 4
|
||||||
|
container: barichello/godot-ci:4.6
|
||||||
|
steps:
|
||||||
|
- name: Update and install dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y curl gnupg
|
||||||
|
apt-get install -y blender
|
||||||
|
|
||||||
|
- name: Install Node.js
|
||||||
|
run: |
|
||||||
|
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
||||||
|
apt-get install -y nodejs
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
|
||||||
|
- name: Setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -Eeuo pipefail
|
||||||
|
BLENDER_PATH="/usr/bin/blender"
|
||||||
|
mkdir -pv ~/.config/godot
|
||||||
|
mkdir -pv ~/.local/share/godot/export_templates/
|
||||||
|
GODOT_CFG="$(find ~/.config/godot -name "editor_settings-*.tres" | head -n 1 || true)"
|
||||||
|
|
||||||
|
if [ -z "$GODOT_CFG" ]; then
|
||||||
|
echo "# Missing Godot editor settings" > "$GODOT_CFG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the Blender path
|
||||||
|
if [ -n "${BLENDER_PATH:-}" ]; then
|
||||||
|
if grep -q '^filesystem/import/blender/blender_path' "$GODOT_CFG"; then
|
||||||
|
# Replace existing path
|
||||||
|
sed -i "s|^filesystem/import/blender/blender_path = .*|filesystem/import/blender/blender_path = \"$BLENDER_PATH\"|" "$GODOT_CFG"
|
||||||
|
else
|
||||||
|
# Append new path
|
||||||
|
echo "filesystem/import/blender/blender_path = \"$BLENDER_PATH\"" >> "$GODOT_CFG"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Blender path configured in $GODOT_CFG"
|
||||||
|
|
||||||
|
- name: Windows Build
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -Eeuo pipefail
|
||||||
|
mkdir -v -p build/windows
|
||||||
|
EXPORT_DIR="$(readlink -f build)"
|
||||||
|
cd $PROJECT_PATH
|
||||||
|
godot --headless --export-release "Windows" "$EXPORT_DIR/windows/$EXPORT_NAME.exe"
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: windows
|
||||||
|
path: build/windows
|
||||||
|
|
||||||
|
export-linux:
|
||||||
|
name: Linux Export
|
||||||
|
runs-on: ubuntu-24.04 # Use 24.04 with godot 4
|
||||||
|
container: barichello/godot-ci:4.6
|
||||||
|
steps:
|
||||||
|
- name: Update and install dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y curl gnupg
|
||||||
|
|
||||||
|
- name: Install Node.js
|
||||||
|
run: |
|
||||||
|
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
||||||
|
apt-get install -y nodejs
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- name: Setup
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -Eeuo pipefail
|
||||||
|
BLENDER_PATH="/usr/bin/blender"
|
||||||
|
mkdir -pv ~/.config/godot
|
||||||
|
mkdir -pv ~/.local/share/godot/export_templates/
|
||||||
|
GODOT_CFG="$(find ~/.config/godot -name "editor_settings-*.tres" | head -n 1 || true)"
|
||||||
|
|
||||||
|
if [ -z "$GODOT_CFG" ]; then
|
||||||
|
echo "# Missing Godot editor settings" > "$GODOT_CFG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the Blender path
|
||||||
|
if [ -n "${BLENDER_PATH:-}" ]; then
|
||||||
|
if grep -q '^filesystem/import/blender/blender_path' "$GODOT_CFG"; then
|
||||||
|
# Replace existing path
|
||||||
|
sed -i "s|^filesystem/import/blender/blender_path = .*|filesystem/import/blender/blender_path = \"$BLENDER_PATH\"|" "$GODOT_CFG"
|
||||||
|
else
|
||||||
|
# Append new path
|
||||||
|
echo "filesystem/import/blender/blender_path = \"$BLENDER_PATH\"" >> "$GODOT_CFG"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Blender path configured in $GODOT_CFG"
|
||||||
|
|
||||||
|
- name: Linux Build
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -Eeuo pipefail
|
||||||
|
mkdir -v -p build/linux
|
||||||
|
EXPORT_DIR="$(readlink -f build)"
|
||||||
|
cd $PROJECT_PATH
|
||||||
|
godot --headless --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64"
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: linux
|
||||||
|
path: build/linux
|
||||||
|
|
||||||
|
create-release:
|
||||||
|
name: Create Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [export-linux, export-windows]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Download Windows Artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: windows
|
||||||
|
path: build/windows
|
||||||
|
|
||||||
|
- name: Download Linux Artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: linux
|
||||||
|
path: build/linux
|
||||||
|
|
||||||
|
- name: Extract version and body from CHANGELOG
|
||||||
|
id: changelog
|
||||||
|
run: |
|
||||||
|
# Extract the latest released version (skip Unreleased)
|
||||||
|
LATEST=$(grep -E '^## \[[0-9]+\.[0-9]+\.[0-9]+\]' CHANGELOG.md | head -n1 | sed -E 's/^## \[([0-9]+\.[0-9]+\.[0-9]+)\].*/\1/')
|
||||||
|
|
||||||
|
if [ -z "$LATEST" ]; then
|
||||||
|
echo "No released version found in CHANGELOG.md"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Released version found: $LATEST"
|
||||||
|
echo "version=$LATEST" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Extract the body: lines until the next ## header
|
||||||
|
BODY=$(awk -v ver="$LATEST" '
|
||||||
|
$0 ~ "^## \\[" ver "\\]" {found=1; next}
|
||||||
|
found && $0 ~ "^## \\[" {exit}
|
||||||
|
found {print}
|
||||||
|
' CHANGELOG.md)
|
||||||
|
|
||||||
|
# Trim leading/trailing empty lines
|
||||||
|
BODY=$(echo "$BODY" | sed '/^\s*$/d')
|
||||||
|
|
||||||
|
# Output body safely for GitHub Actions
|
||||||
|
echo "body<<EOF" >> $GITHUB_OUTPUT
|
||||||
|
echo "$BODY" >> $GITHUB_OUTPUT
|
||||||
|
echo "EOF" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Zipping exports
|
||||||
|
run: |
|
||||||
|
zip -r windows-${{ steps.changelog.outputs.version }}.zip build/windows
|
||||||
|
zip -r linux-${{ steps.changelog.outputs.version }}.zip build/linux
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
server_url: ${{ vars.SERVER_URL }}
|
||||||
|
tag_name: ${{ steps.changelog.outputs.version }}
|
||||||
|
name: "${{ steps.changelog.outputs.version }}"
|
||||||
|
body: ${{ steps.changelog.outputs.body }}
|
||||||
|
draft: false
|
||||||
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
files: |
|
||||||
|
windows-${{ steps.changelog.outputs.version }}.zip
|
||||||
|
linux-${{ steps.changelog.outputs.version }}.zip
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
name: Coding Quality
|
name: Coding Quality
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
@@ -19,6 +19,9 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
||||||
|
with:
|
||||||
|
args: >
|
||||||
|
-Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }}
|
||||||
# If you wish to fail your job when the Quality Gate is red, uncomment the
|
# If you wish to fail your job when the Quality Gate is red, uncomment the
|
||||||
# following lines. This would typically be used to fail a deployment.
|
# following lines. This would typically be used to fail a deployment.
|
||||||
# - uses: SonarSource/sonarqube-quality-gate-action@v1
|
# - uses: SonarSource/sonarqube-quality-gate-action@v1
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -2,4 +2,5 @@
|
|||||||
.idea/
|
.idea/
|
||||||
.godot/
|
.godot/
|
||||||
/android/
|
/android/
|
||||||
/dist/
|
/dist/
|
||||||
|
.sonarlint
|
||||||
BIN
Assets/PixelPlanets/a-moon.png
Normal file
BIN
Assets/PixelPlanets/a-moon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 533 B |
40
Assets/PixelPlanets/a-moon.png.import
Normal file
40
Assets/PixelPlanets/a-moon.png.import
Normal 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
31
CHANGELOG.md
Normal 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
|
||||||
40
Games/SpaceResources/Planing/.$Movement 2D.svg.bkp
Normal file
40
Games/SpaceResources/Planing/.$Movement 2D.svg.bkp
Normal 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<br>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<br>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<br>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>
|
||||||
4
Games/SpaceResources/Planing/Movement 2D.svg
Normal file
4
Games/SpaceResources/Planing/Movement 2D.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 15 KiB |
39
Games/SpaceResources/Planing/Movement 2D.svg.import
Normal file
39
Games/SpaceResources/Planing/Movement 2D.svg.import
Normal 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
|
||||||
52
Games/SpaceResources/Scripts/RecurionCamera.gd
Normal file
52
Games/SpaceResources/Scripts/RecurionCamera.gd
Normal 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
|
||||||
1
Games/SpaceResources/Scripts/RecurionCamera.gd.uid
Normal file
1
Games/SpaceResources/Scripts/RecurionCamera.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bqslv86lm78ci
|
||||||
16
Levels/Recuration.tscn
Normal file
16
Levels/Recuration.tscn
Normal 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")
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
[gd_scene format=3 uid="uid://b5n2k34r6e6j5"]
|
|
||||||
|
|
||||||
[node name="SpaceResources" type="Node2D" unique_id=1118282720]
|
|
||||||
@@ -1,16 +1,20 @@
|
|||||||
[preset.0]
|
[preset.0]
|
||||||
|
|
||||||
name="Godot Experiments"
|
name="Web"
|
||||||
platform="Web"
|
platform="Web"
|
||||||
runnable=true
|
runnable=false
|
||||||
advanced_options=false
|
|
||||||
dedicated_server=false
|
dedicated_server=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter="*.blend"
|
||||||
export_path="dist/Experements.html"
|
export_path=""
|
||||||
patches=PackedStringArray()
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
seed=0
|
seed=0
|
||||||
@@ -42,4 +46,123 @@ progressive_web_app/icon_180x180=""
|
|||||||
progressive_web_app/icon_512x512=""
|
progressive_web_app/icon_512x512=""
|
||||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||||
threads/emscripten_pool_size=8
|
threads/emscripten_pool_size=8
|
||||||
threads/godot_pool_size=4
|
threads/godot_pool_size=4
|
||||||
|
|
||||||
|
[preset.1]
|
||||||
|
|
||||||
|
name="Linux/X11"
|
||||||
|
platform="Linux"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter="*.blend"
|
||||||
|
export_path="<null>"
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.1.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=false
|
||||||
|
texture_format/s3tc_bptc=true
|
||||||
|
texture_format/etc2_astc=false
|
||||||
|
shader_baker/enabled=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||||
|
export DISPLAY=:0
|
||||||
|
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||||
|
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||||
|
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||||
|
pkill -x -f \"{temp_dir}/{exe_name} {cmd_args}\"
|
||||||
|
rm -rf \"{temp_dir}\""
|
||||||
|
|
||||||
|
[preset.2]
|
||||||
|
|
||||||
|
name="Windows"
|
||||||
|
platform="Windows Desktop"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter="*.blend"
|
||||||
|
export_path=""
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.2.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=false
|
||||||
|
texture_format/s3tc_bptc=true
|
||||||
|
texture_format/etc2_astc=false
|
||||||
|
shader_baker/enabled=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
codesign/enable=false
|
||||||
|
codesign/timestamp=true
|
||||||
|
codesign/timestamp_server_url=""
|
||||||
|
codesign/digest_algorithm=1
|
||||||
|
codesign/description=""
|
||||||
|
codesign/custom_options=PackedStringArray()
|
||||||
|
application/modify_resources=true
|
||||||
|
application/icon=""
|
||||||
|
application/console_wrapper_icon=""
|
||||||
|
application/icon_interpolation=4
|
||||||
|
application/file_version=""
|
||||||
|
application/product_version=""
|
||||||
|
application/company_name=""
|
||||||
|
application/product_name=""
|
||||||
|
application/file_description=""
|
||||||
|
application/copyright=""
|
||||||
|
application/trademarks=""
|
||||||
|
application/export_angle=0
|
||||||
|
application/export_d3d12=0
|
||||||
|
application/d3d12_agility_sdk_multiarch=true
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||||
|
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||||
|
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||||
|
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
|
||||||
|
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||||
|
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||||
|
Start-ScheduledTask -TaskName godot_remote_debug
|
||||||
|
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||||
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
|
|||||||
37
main.tscn
37
main.tscn
@@ -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="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://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://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://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
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -13,7 +15,7 @@ anchor_bottom = 1.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1674123930]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -25,30 +27,47 @@ offset_bottom = -55.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer"]
|
[node name="Button" type="Button" parent="VBoxContainer" unique_id=1520219681]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "space_test"
|
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")
|
script = ExtResource("1_ig7tw")
|
||||||
level = ExtResource("2_1bvp3")
|
level = ExtResource("2_1bvp3")
|
||||||
metadata/_custom_type_script = "uid://bel5yfuiqithe"
|
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
|
layout_mode = 2
|
||||||
text = "space_move
|
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")
|
script = ExtResource("1_ig7tw")
|
||||||
level = ExtResource("3_lquwl")
|
level = ExtResource("3_lquwl")
|
||||||
metadata/_custom_type_script = "uid://bel5yfuiqithe"
|
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
|
layout_mode = 2
|
||||||
text = "pid_test"
|
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")
|
script = ExtResource("1_ig7tw")
|
||||||
level = ExtResource("4_7mycd")
|
level = ExtResource("4_7mycd")
|
||||||
metadata/_custom_type_script = "uid://bel5yfuiqithe"
|
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"
|
||||||
|
|||||||
@@ -8,11 +8,15 @@
|
|||||||
|
|
||||||
config_version=5
|
config_version=5
|
||||||
|
|
||||||
|
[animation]
|
||||||
|
|
||||||
|
compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||||
|
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="Experements"
|
config/name="Experements"
|
||||||
run/main_scene="uid://djelupqdj4wgd"
|
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)
|
boot_splash/bg_color=Color(0, 0, 0, 1)
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
@@ -20,6 +24,11 @@ config/icon="res://icon.svg"
|
|||||||
|
|
||||||
BackToMain="*res://back_to_main.gd"
|
BackToMain="*res://back_to_main.gd"
|
||||||
|
|
||||||
|
[filesystem]
|
||||||
|
|
||||||
|
import/blender/enabled.android=true
|
||||||
|
import/blender/enabled.web=true
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
w={
|
w={
|
||||||
@@ -57,6 +66,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)
|
"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]
|
[physics]
|
||||||
|
|
||||||
@@ -66,3 +90,7 @@ main_menue={
|
|||||||
3d/default_angular_damp=0.0
|
3d/default_angular_damp=0.0
|
||||||
3d/sleep_threshold_linear=0.01
|
3d/sleep_threshold_linear=0.01
|
||||||
3d/sleep_threshold_angular=0.00872665
|
3d/sleep_threshold_angular=0.00872665
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
environment/defaults/default_clear_color=Color(0, 0, 0, 1)
|
||||||
|
|||||||
14
quit_game_component.gd
Normal file
14
quit_game_component.gd
Normal 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)
|
||||||
1
quit_game_component.gd.uid
Normal file
1
quit_game_component.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://lh1hhx4q8nlu
|
||||||
Reference in New Issue
Block a user