Initial Commit
Didn't use git for a minute, oh well.
This commit is contained in:
commit
c3323fb6dd
4
.editorconfig
Normal file
4
.editorconfig
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Normalize EOL for all files that Git considers text files.
|
||||||
|
* text=auto eol=lf
|
||||||
53
.gitignore
vendored
Normal file
53
.gitignore
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# Godot-specific
|
||||||
|
.import/
|
||||||
|
export.cfg
|
||||||
|
export_presets.cfg
|
||||||
|
|
||||||
|
# Godot 4 specific
|
||||||
|
*.godot/ # Cache folder used in Godot 4.x
|
||||||
|
|
||||||
|
# Builds
|
||||||
|
bin/
|
||||||
|
build/
|
||||||
|
*.exe
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.apk
|
||||||
|
*.xcodeproj/
|
||||||
|
*.xcworkspace/
|
||||||
|
*.ios/
|
||||||
|
*.pck
|
||||||
|
|
||||||
|
# Mono (C# projects)
|
||||||
|
.mono/
|
||||||
|
data_*/ # Generated Mono temp dirs
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# OS / IDE / editor files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
desktop.ini
|
||||||
|
*.log
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
*.swp
|
||||||
|
|
||||||
|
# VSCode
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
# JetBrains (Rider, CLion, etc.)
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Godot Native C++ bindings (if applicable)
|
||||||
|
godot-cpp/bin/
|
||||||
|
godot-cpp/gen/
|
||||||
|
godot-cpp/build/
|
||||||
|
|
||||||
|
# Optional: ignore user config
|
||||||
|
.godot/
|
||||||
|
|
||||||
|
# Optional: ignore test files or backups
|
||||||
|
test/
|
||||||
|
tests/
|
||||||
|
*.orig
|
||||||
54
CenterDisplayController.cs
Normal file
54
CenterDisplayController.cs
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public partial class CenterDisplayController : Node
|
||||||
|
{
|
||||||
|
[ExportCategory(" ")]
|
||||||
|
[Export] private Node2D _background;
|
||||||
|
[Export] private Label _counterLabel;
|
||||||
|
[Export] private Label _togoLabel;
|
||||||
|
[Export] private Label _pbtsLabel;
|
||||||
|
[Export] private AnimationPlayer _pbstAnimationPlayer;
|
||||||
|
[Export] private AnimationPlayer _counterAnimationPlayer;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private GameManager.State state;
|
||||||
|
public override void _Ready()
|
||||||
|
{
|
||||||
|
state = GameManager.CurrentState;
|
||||||
|
|
||||||
|
OnStateChange();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void _Process(double delta)
|
||||||
|
{
|
||||||
|
if (GameManager.CurrentState != state)
|
||||||
|
{
|
||||||
|
state = GameManager.CurrentState;
|
||||||
|
OnStateChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStateChange()
|
||||||
|
{
|
||||||
|
if (state == GameManager.State.IDLE)
|
||||||
|
{
|
||||||
|
_pbstAnimationPlayer.Play("TextFade");
|
||||||
|
_counterAnimationPlayer.Play("CounterOutIdle");
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.PLAY)
|
||||||
|
{
|
||||||
|
_pbstAnimationPlayer.Play("TextOutIdle");
|
||||||
|
_counterAnimationPlayer.Play("CounterFadeIn");
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.LOSS)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.WIN)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
CenterDisplayController.cs.uid
Normal file
1
CenterDisplayController.cs.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://dw1twisa1uie6
|
||||||
18
ExtensionMethods.cs
Normal file
18
ExtensionMethods.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace PopTheLockClone;
|
||||||
|
|
||||||
|
public static class ExtensionMethods
|
||||||
|
{
|
||||||
|
private static Random _random = new Random();
|
||||||
|
|
||||||
|
public static T ShitOutRandomChoice<T>(this IList<T> list)
|
||||||
|
{
|
||||||
|
if (list == null || list.Count == 0)
|
||||||
|
throw new InvalidOperationException("Cannot select a random element from an empty or null list.");
|
||||||
|
|
||||||
|
int index = _random.Next(list.Count);
|
||||||
|
return list[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
40
GameManager.cs
Normal file
40
GameManager.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public partial class GameManager : Node
|
||||||
|
{
|
||||||
|
public enum State
|
||||||
|
{
|
||||||
|
IDLE,
|
||||||
|
PLAY,
|
||||||
|
LOSS,
|
||||||
|
WIN
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool playing = false;
|
||||||
|
|
||||||
|
public static State CurrentState { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
|
public override void _Ready()
|
||||||
|
{
|
||||||
|
CurrentState = State.IDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void _Process(double delta)
|
||||||
|
{
|
||||||
|
if (Input.IsActionJustPressed("Press"))
|
||||||
|
{
|
||||||
|
playing = !playing;
|
||||||
|
if (playing)
|
||||||
|
{
|
||||||
|
CurrentState = State.PLAY;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CurrentState = State.IDLE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
GameManager.cs.uid
Normal file
1
GameManager.cs.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://csmfx22swajfs
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2022 Peter Kish
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
116
PaddlePivotTest.cs
Normal file
116
PaddlePivotTest.cs
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
using Godot;
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using PopTheLockClone;
|
||||||
|
|
||||||
|
public partial class PaddlePivotTest : Node2D
|
||||||
|
{
|
||||||
|
|
||||||
|
[Export] public float RotationSpeed = 90;
|
||||||
|
[Export] public Label FPS;
|
||||||
|
[Export] public Label HitsLeft;
|
||||||
|
[Export] public Node2D[] shapes;
|
||||||
|
|
||||||
|
private List<int> myNums;
|
||||||
|
|
||||||
|
private Color[] colors = new Color[]
|
||||||
|
{
|
||||||
|
Colors.RebeccaPurple,
|
||||||
|
Colors.SpringGreen,
|
||||||
|
Colors.GreenYellow,
|
||||||
|
Colors.AliceBlue,
|
||||||
|
Colors.AntiqueWhite
|
||||||
|
};
|
||||||
|
|
||||||
|
private bool direction = false;
|
||||||
|
|
||||||
|
private float base_speed = 80;
|
||||||
|
private float max_speed = 200;
|
||||||
|
private int total_hits = 50;
|
||||||
|
private int hits_left;
|
||||||
|
|
||||||
|
private Color round1 = Color.FromHtml("#7aed00");
|
||||||
|
|
||||||
|
private Color currentColor;
|
||||||
|
|
||||||
|
private GameManager.State state;
|
||||||
|
|
||||||
|
public override void _Ready()
|
||||||
|
{
|
||||||
|
Engine.MaxFps = 0;
|
||||||
|
hits_left = total_hits;
|
||||||
|
HitsLeft.Text = total_hits.ToString();
|
||||||
|
myNums = new List<int>();
|
||||||
|
|
||||||
|
currentColor = round1;
|
||||||
|
SetShapesColor();
|
||||||
|
}
|
||||||
|
private void UpdateRotationSpeed()
|
||||||
|
{
|
||||||
|
int hits_done = total_hits - hits_left;
|
||||||
|
float progress = hits_done / (float)total_hits;
|
||||||
|
RotationSpeed = base_speed + (max_speed - base_speed) * progress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void _Process(double delta)
|
||||||
|
{
|
||||||
|
|
||||||
|
FPS.Text = "FPS: " + Engine.GetFramesPerSecond();
|
||||||
|
|
||||||
|
if (GameManager.CurrentState != state)
|
||||||
|
{
|
||||||
|
state = GameManager.CurrentState;
|
||||||
|
OnStateChange();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input.IsActionJustPressed("Press"))
|
||||||
|
{
|
||||||
|
UpdateRotationSpeed();
|
||||||
|
direction = !direction;
|
||||||
|
|
||||||
|
HitsLeft.Text = hits_left.ToString();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (GameManager.CurrentState == GameManager.State.PLAY)
|
||||||
|
{
|
||||||
|
Rotation += Mathf.DegToRad((float)delta * (direction ? RotationSpeed : -RotationSpeed));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetShapesColor()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < shapes.Length; i++)
|
||||||
|
{
|
||||||
|
shapes[i].Set("color", currentColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStateChange()
|
||||||
|
{
|
||||||
|
if (state == GameManager.State.IDLE)
|
||||||
|
{
|
||||||
|
currentColor = round1;
|
||||||
|
SetShapesColor();
|
||||||
|
|
||||||
|
Rotation = 0;
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.PLAY)
|
||||||
|
{
|
||||||
|
currentColor = round1;
|
||||||
|
SetShapesColor();
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.LOSS)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (state == GameManager.State.WIN)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
PaddlePivotTest.cs.uid
Normal file
1
PaddlePivotTest.cs.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://cqccd451iqfti
|
||||||
6
PopTheLockClone.csproj
Normal file
6
PopTheLockClone.csproj
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
19
PopTheLockClone.sln
Normal file
19
PopTheLockClone.sln
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2012
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PopTheLockClone", "PopTheLockClone.csproj", "{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
ExportDebug|Any CPU = ExportDebug|Any CPU
|
||||||
|
ExportRelease|Any CPU = ExportRelease|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
|
||||||
|
{F48F89A5-61E3-4017-90A5-A967FE7A4DEE}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
2
PopTheLockClone.sln.DotSettings.user
Normal file
2
PopTheLockClone.sln.DotSettings.user
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARectangleShape2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fa1cc98873548652da0c14ecefa4737431426fcbb24a7f0641e3d9c266c3_003FRectangleShape2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||||
55
addons/primitives2d/arc2d.gd
Normal file
55
addons/primitives2d/arc2d.gd
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
@tool
|
||||||
|
extends Node2D
|
||||||
|
class_name Arc2D
|
||||||
|
|
||||||
|
@export var color: Color = Color(1.0, 1.0, 1.0) :
|
||||||
|
set(new_color):
|
||||||
|
if color == new_color:
|
||||||
|
return
|
||||||
|
color = new_color
|
||||||
|
queue_redraw()
|
||||||
|
@export var radius: float = 10.0 :
|
||||||
|
set(new_radius):
|
||||||
|
if radius == new_radius:
|
||||||
|
return
|
||||||
|
radius = new_radius
|
||||||
|
queue_redraw()
|
||||||
|
@export var start_degrees: float = 0.0 :
|
||||||
|
set(new_start_degrees):
|
||||||
|
if start_degrees == new_start_degrees:
|
||||||
|
return
|
||||||
|
start_degrees = new_start_degrees
|
||||||
|
start_angle = deg_to_rad(start_degrees)
|
||||||
|
queue_redraw()
|
||||||
|
@export var end_degrees: float = 360.0 :
|
||||||
|
set(new_end_degrees):
|
||||||
|
if end_degrees == new_end_degrees:
|
||||||
|
return
|
||||||
|
end_degrees = new_end_degrees
|
||||||
|
end_angle = deg_to_rad(end_degrees)
|
||||||
|
queue_redraw()
|
||||||
|
@export var line_width: float = -1.0 :
|
||||||
|
set(new_line_width):
|
||||||
|
if line_width == new_line_width:
|
||||||
|
return
|
||||||
|
line_width = new_line_width
|
||||||
|
queue_redraw()
|
||||||
|
@export var antialiased: bool = false :
|
||||||
|
set(new_antialiased):
|
||||||
|
if antialiased == new_antialiased:
|
||||||
|
return
|
||||||
|
antialiased = new_antialiased
|
||||||
|
queue_redraw()
|
||||||
|
@export var detail: int = 30 :
|
||||||
|
set(new_detail):
|
||||||
|
if detail == new_detail:
|
||||||
|
return
|
||||||
|
detail = new_detail
|
||||||
|
queue_redraw()
|
||||||
|
|
||||||
|
var start_angle = deg_to_rad(start_degrees)
|
||||||
|
var end_angle = deg_to_rad(end_degrees)
|
||||||
|
|
||||||
|
|
||||||
|
func _draw() -> void:
|
||||||
|
draw_arc(Vector2.ZERO, radius, start_angle, end_angle, detail, color, line_width, antialiased)
|
||||||
1
addons/primitives2d/arc2d.gd.uid
Normal file
1
addons/primitives2d/arc2d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://c6v3ersnx3svd
|
||||||
47
addons/primitives2d/circle2d.gd
Normal file
47
addons/primitives2d/circle2d.gd
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
@tool
|
||||||
|
extends Node2D
|
||||||
|
class_name Circle2D
|
||||||
|
|
||||||
|
@export var color: Color = Color(1.0, 1.0, 1.0) :
|
||||||
|
set(new_color):
|
||||||
|
if color == new_color:
|
||||||
|
return
|
||||||
|
color = new_color
|
||||||
|
queue_redraw()
|
||||||
|
@export var radius: float = 10.0 :
|
||||||
|
set(new_radius):
|
||||||
|
if radius == new_radius:
|
||||||
|
return
|
||||||
|
radius = new_radius
|
||||||
|
queue_redraw()
|
||||||
|
@export var filled: bool = false :
|
||||||
|
set(new_filled):
|
||||||
|
if filled == new_filled:
|
||||||
|
return
|
||||||
|
filled = new_filled
|
||||||
|
queue_redraw()
|
||||||
|
@export var line_width: float = -1.0 :
|
||||||
|
set(new_line_width):
|
||||||
|
if line_width == new_line_width:
|
||||||
|
return
|
||||||
|
line_width = new_line_width
|
||||||
|
queue_redraw()
|
||||||
|
@export var antialiased: bool = false :
|
||||||
|
set(new_antialiased):
|
||||||
|
if antialiased == new_antialiased:
|
||||||
|
return
|
||||||
|
antialiased = new_antialiased
|
||||||
|
queue_redraw()
|
||||||
|
@export var detail: int = 30 :
|
||||||
|
set(new_detail):
|
||||||
|
if detail == new_detail:
|
||||||
|
return
|
||||||
|
detail = new_detail
|
||||||
|
queue_redraw()
|
||||||
|
|
||||||
|
|
||||||
|
func _draw() -> void:
|
||||||
|
if filled:
|
||||||
|
draw_circle(Vector2.ZERO, radius, color)
|
||||||
|
else:
|
||||||
|
draw_arc(Vector2.ZERO, radius, 0, TAU, detail, color, line_width, antialiased)
|
||||||
1
addons/primitives2d/circle2d.gd.uid
Normal file
1
addons/primitives2d/circle2d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://837wj2bp417t
|
||||||
63
addons/primitives2d/icon_arc.svg
Normal file
63
addons/primitives2d/icon_arc.svg
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
width="16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="icon_arc.svg"
|
||||||
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2498"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="20.85965"
|
||||||
|
inkscape:cx="15.476591"
|
||||||
|
inkscape:cy="12.815089"
|
||||||
|
inkscape:window-x="54"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:snap-others="true">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4520" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#68b6ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="M 8 1.8574219 C 4.6192384 1.8574219 1.8574219 4.6192384 1.8574219 8 C 1.8574219 11.380762 4.6192384 14.142578 8 14.142578 C 11.380762 14.142578 14.142578 11.380762 14.142578 8 L 12.142578 8 C 12.142578 10.299881 10.299881 12.142578 8 12.142578 C 5.7001186 12.142578 3.8574219 10.299881 3.8574219 8 C 3.8574219 5.7001186 5.7001186 3.8574219 8 3.8574219 L 8 1.8574219 z "
|
||||||
|
id="path816" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
37
addons/primitives2d/icon_arc.svg.import
Normal file
37
addons/primitives2d/icon_arc.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cktwptpptwjde"
|
||||||
|
path="res://.godot/imported/icon_arc.svg-7a5f8a77ce12efc06399abc8e3fce355.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/primitives2d/icon_arc.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon_arc.svg-7a5f8a77ce12efc06399abc8e3fce355.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
64
addons/primitives2d/icon_circle.svg
Normal file
64
addons/primitives2d/icon_circle.svg
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
width="16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="icon_circle.svg"
|
||||||
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2498"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="20.85965"
|
||||||
|
inkscape:cx="15.476591"
|
||||||
|
inkscape:cy="12.815089"
|
||||||
|
inkscape:window-x="54"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:snap-others="true">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4520" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#68b6ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="M 8,1.8574219 C 4.6192384,1.8574219 1.8574219,4.6192384 1.8574219,8 c 0,3.380762 2.7618165,6.142578 6.1425781,6.142578 3.380762,0 6.142578,-2.761816 6.142578,-6.142578 C 14.142578,4.6192384 11.380762,1.8574219 8,1.8574219 Z m 0,2 c 2.299881,0 4.142578,1.8426967 4.142578,4.1425781 0,2.299881 -1.842697,4.142578 -4.142578,4.142578 C 5.7001186,12.142578 3.8574219,10.299881 3.8574219,8 3.8574219,5.7001186 5.7001186,3.8574219 8,3.8574219 Z"
|
||||||
|
id="path816"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
37
addons/primitives2d/icon_circle.svg.import
Normal file
37
addons/primitives2d/icon_circle.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://lyvf2iftw2pt"
|
||||||
|
path="res://.godot/imported/icon_circle.svg-bce51241acdfbf9ba6275aa0791b2467.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/primitives2d/icon_circle.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon_circle.svg-bce51241acdfbf9ba6275aa0791b2467.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
63
addons/primitives2d/icon_rect.svg
Normal file
63
addons/primitives2d/icon_rect.svg
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
width="16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="icon_rect.svg"
|
||||||
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2498"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="20.85965"
|
||||||
|
inkscape:cx="15.476591"
|
||||||
|
inkscape:cy="8.9799332"
|
||||||
|
inkscape:window-x="54"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:snap-others="true">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4520" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:#68b6ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="M 2 2 L 2 14 L 14 14 L 14 2 L 2 2 z M 4 4 L 12 4 L 12 12 L 4 12 L 4 4 z "
|
||||||
|
id="rect829" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
37
addons/primitives2d/icon_rect.svg.import
Normal file
37
addons/primitives2d/icon_rect.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cuyk0h2qlsus8"
|
||||||
|
path="res://.godot/imported/icon_rect.svg-2d0412db84b08def9dbef32870e9e825.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/primitives2d/icon_rect.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon_rect.svg-2d0412db84b08def9dbef32870e9e825.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
7
addons/primitives2d/plugin.cfg
Normal file
7
addons/primitives2d/plugin.cfg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="Primitives2D"
|
||||||
|
description="A plugin for rendering primitive 2d shapes."
|
||||||
|
author="Peter Kish"
|
||||||
|
version="0.0.2"
|
||||||
|
script="primitives2d.gd"
|
||||||
14
addons/primitives2d/primitives2d.gd
Normal file
14
addons/primitives2d/primitives2d.gd
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
@tool
|
||||||
|
extends EditorPlugin
|
||||||
|
|
||||||
|
|
||||||
|
func _enter_tree():
|
||||||
|
add_custom_type("Rectangle2D", "Node2D", preload("rectangle2d.gd"), preload("icon_rect.svg"))
|
||||||
|
add_custom_type("Circle2D", "Node2D", preload("circle2d.gd"), preload("icon_circle.svg"))
|
||||||
|
add_custom_type("Arc2D", "Node2D", preload("arc2d.gd"), preload("icon_arc.svg"))
|
||||||
|
|
||||||
|
|
||||||
|
func _exit_tree():
|
||||||
|
remove_custom_type("Rectangle2D")
|
||||||
|
remove_custom_type("Circle2D")
|
||||||
|
remove_custom_type("Arc2D")
|
||||||
1
addons/primitives2d/primitives2d.gd.uid
Normal file
1
addons/primitives2d/primitives2d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://detus2vpvumon
|
||||||
41
addons/primitives2d/rectangle2d.gd
Normal file
41
addons/primitives2d/rectangle2d.gd
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
@tool
|
||||||
|
extends Node2D
|
||||||
|
class_name Rectangle2D
|
||||||
|
|
||||||
|
@export var color: Color = Color(1.0, 1.0, 1.0) :
|
||||||
|
set(new_color):
|
||||||
|
if color == new_color:
|
||||||
|
return
|
||||||
|
color = new_color
|
||||||
|
queue_redraw()
|
||||||
|
@export var size: Vector2 = Vector2(10, 10) :
|
||||||
|
set(new_size):
|
||||||
|
if size == new_size:
|
||||||
|
return
|
||||||
|
size = new_size
|
||||||
|
queue_redraw()
|
||||||
|
@export var filled: bool = true :
|
||||||
|
set(new_filled):
|
||||||
|
if filled == new_filled:
|
||||||
|
return
|
||||||
|
filled = new_filled
|
||||||
|
queue_redraw()
|
||||||
|
@export var line_width: float = -1.0 :
|
||||||
|
set(new_line_width):
|
||||||
|
if line_width == new_line_width:
|
||||||
|
return
|
||||||
|
line_width = new_line_width
|
||||||
|
queue_redraw()
|
||||||
|
@export var centered: bool = false :
|
||||||
|
set(new_centered):
|
||||||
|
if centered == new_centered:
|
||||||
|
return
|
||||||
|
centered = new_centered
|
||||||
|
queue_redraw()
|
||||||
|
|
||||||
|
|
||||||
|
func _draw() -> void:
|
||||||
|
var rect = Rect2(Vector2.ZERO, size)
|
||||||
|
if centered:
|
||||||
|
rect.position -= rect.size / 2
|
||||||
|
draw_rect(rect, color, filled, line_width)
|
||||||
1
addons/primitives2d/rectangle2d.gd.uid
Normal file
1
addons/primitives2d/rectangle2d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://bspmrib6cl6qc
|
||||||
7
default_env.tres
Normal file
7
default_env.tres
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="Environment" load_steps=2 format=3 uid="uid://bn8vrgsvwn637"]
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="1"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
background_mode = 2
|
||||||
|
sky = SubResource("1")
|
||||||
34
icon.png.import
Normal file
34
icon.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://d16cl12e7emr3"
|
||||||
|
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
1
icon.svg
Normal file
1
icon.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 994 B |
37
icon.svg.import
Normal file
37
icon.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://mm7esur6jc6g"
|
||||||
|
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
66
images/logo.svg
Normal file
66
images/logo.svg
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
height="30"
|
||||||
|
viewBox="0 0 30 30"
|
||||||
|
width="30"
|
||||||
|
version="1.1"
|
||||||
|
id="svg4"
|
||||||
|
sodipodi:docname="logo.svg"
|
||||||
|
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||||
|
xml:space="preserve"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
|
||||||
|
id="metadata10"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs8" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2498"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="20.85965"
|
||||||
|
inkscape:cx="10.163162"
|
||||||
|
inkscape:cy="14.861227"
|
||||||
|
inkscape:window-x="54"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg4"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:snap-others="true"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid4520"
|
||||||
|
originx="0"
|
||||||
|
originy="0" /></sodipodi:namedview><path
|
||||||
|
style="opacity:1;fill:#68b6ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="M 2,2 V 14 H 14 V 2 Z m 2,2 h 8 v 8 H 4 Z"
|
||||||
|
id="rect829" /><rect
|
||||||
|
style="fill:none;stroke:none;stroke-width:0.854173;stroke-linecap:square"
|
||||||
|
id="rect1635"
|
||||||
|
width="28"
|
||||||
|
height="28"
|
||||||
|
x="1"
|
||||||
|
y="1" /><path
|
||||||
|
id="path1795"
|
||||||
|
style="fill:#68b6ff;fill-opacity:1;stroke:none;stroke-width:0.854173;stroke-linecap:square"
|
||||||
|
d="m 8,16 a 6,6 0 0 0 -6,6 6,6 0 0 0 6,6 6,6 0 0 0 6,-6 6,6 0 0 0 -6,-6 z m 0,2 a 4,4 0 0 1 4,4 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 z" /><path
|
||||||
|
id="path1852"
|
||||||
|
style="fill:#68b6ff;fill-opacity:1;stroke:none;stroke-width:0.854173;stroke-linecap:square"
|
||||||
|
d="m 22,16 a 6,6 0 0 0 -6,6 6,6 0 0 0 6,6 6,6 0 0 0 6,-6 h -2 a 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 z" /></svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
37
images/logo.svg.import
Normal file
37
images/logo.svg.import
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://7alrclriuwu5"
|
||||||
|
path="res://.godot/imported/logo.svg-2a358a172e03a2c52fe1d84dd759ccf5.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://images/logo.svg"
|
||||||
|
dest_files=["res://.godot/imported/logo.svg-2a358a172e03a2c52fe1d84dd759ccf5.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
BIN
images/ss_editor.png
Normal file
BIN
images/ss_editor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
34
images/ss_editor.png.import
Normal file
34
images/ss_editor.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://did8jtoy828bl"
|
||||||
|
path="res://.godot/imported/ss_editor.png-7e64bce0e7c68fc091b99ba790d849af.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://images/ss_editor.png"
|
||||||
|
dest_files=["res://.godot/imported/ss_editor.png-7e64bce0e7c68fc091b99ba790d849af.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
526
main.tscn
Normal file
526
main.tscn
Normal file
@ -0,0 +1,526 @@
|
|||||||
|
[gd_scene load_steps=23 format=3 uid="uid://dc7mdcm45gwcm"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://837wj2bp417t" path="res://addons/primitives2d/circle2d.gd" id="1_ig7tw"]
|
||||||
|
[ext_resource type="Script" uid="uid://bspmrib6cl6qc" path="res://addons/primitives2d/rectangle2d.gd" id="2_0xm2m"]
|
||||||
|
[ext_resource type="Script" uid="uid://cqccd451iqfti" path="res://PaddlePivotTest.cs" id="3_h2yge"]
|
||||||
|
[ext_resource type="Script" uid="uid://csmfx22swajfs" path="res://GameManager.cs" id="4_lquwl"]
|
||||||
|
[ext_resource type="Script" uid="uid://dw1twisa1uie6" path="res://CenterDisplayController.cs" id="5_7mycd"]
|
||||||
|
|
||||||
|
[sub_resource type="SystemFont" id="SystemFont_0xm2m"]
|
||||||
|
font_names = PackedStringArray("Fredoka")
|
||||||
|
hinting = 2
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_h2yge"]
|
||||||
|
line_spacing = -17.165
|
||||||
|
font = SubResource("SystemFont_0xm2m")
|
||||||
|
font_size = 46
|
||||||
|
|
||||||
|
[sub_resource type="SystemFont" id="SystemFont_h2yge"]
|
||||||
|
font_names = PackedStringArray("Fredoka")
|
||||||
|
font_stretch = 200
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_1bvp3"]
|
||||||
|
font = SubResource("SystemFont_h2yge")
|
||||||
|
font_size = 56
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_lquwl"]
|
||||||
|
font = SubResource("SystemFont_h2yge")
|
||||||
|
font_size = 125
|
||||||
|
font_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_272bh"]
|
||||||
|
resource_name = "CounterFadeIn"
|
||||||
|
length = 0.5
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 0.0862745), Color(1, 1, 1, 1)]
|
||||||
|
}
|
||||||
|
tracks/1/type = "method"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("AnimationPlayer")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0.5),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [&"CounterInIdle", -1, 1.0, false],
|
||||||
|
"method": &"play"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_5vw27"]
|
||||||
|
resource_name = "CounterFadeOut"
|
||||||
|
length = 0.35
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.35),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.0862745)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_kek77"]
|
||||||
|
resource_name = "CounterInIdle"
|
||||||
|
length = 0.1
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_4c57u"]
|
||||||
|
resource_name = "CounterOutIdle"
|
||||||
|
length = 0.1
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 0.0862745), Color(1, 1, 1, 0.0862745)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_efxa6"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 1, 1, 0.0862745)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dg77c"]
|
||||||
|
_data = {
|
||||||
|
&"CounterFadeIn": SubResource("Animation_272bh"),
|
||||||
|
&"CounterFadeOut": SubResource("Animation_5vw27"),
|
||||||
|
&"CounterInIdle": SubResource("Animation_kek77"),
|
||||||
|
&"CounterOutIdle": SubResource("Animation_4c57u"),
|
||||||
|
&"RESET": SubResource("Animation_efxa6")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_7mycd"]
|
||||||
|
font = SubResource("SystemFont_h2yge")
|
||||||
|
font_size = 20
|
||||||
|
shadow_color = Color(0.637843, 0.637843, 0.637843, 1)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_272bh"]
|
||||||
|
line_spacing = -4.19
|
||||||
|
font = SubResource("SystemFont_h2yge")
|
||||||
|
font_size = 30
|
||||||
|
font_color = Color(0, 0.32549, 0.698039, 0)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_lquwl"]
|
||||||
|
resource_name = "TextFade"
|
||||||
|
length = 0.75
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.749632),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(0, 0.32549, 0.698039, 0.34902), Color(0, 0.32549, 0.698039, 1)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_7mycd"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(0, 0.32549, 0.698039, 0)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_dg77c"]
|
||||||
|
resource_name = "TextOutIdle"
|
||||||
|
length = 0.1
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:label_settings:font_color")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(0, 0.32549, 0.698039, 0), Color(0, 0.32549, 0.698039, 0)]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_272bh"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_7mycd"),
|
||||||
|
&"TextFade": SubResource("Animation_lquwl"),
|
||||||
|
&"TextOutIdle": SubResource("Animation_dg77c")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Node2D" type="Node2D"]
|
||||||
|
|
||||||
|
[node name="Camera2D" type="Camera2D" parent="."]
|
||||||
|
offset = Vector2(0, -158.4)
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Polygon2D" type="Polygon2D" parent="."]
|
||||||
|
|
||||||
|
[node name="MainBodyLit" type="Node2D" parent="."]
|
||||||
|
z_index = -1
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
radius = 289.04
|
||||||
|
filled = true
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="MainBodyOutline" type="Node2D" parent="."]
|
||||||
|
z_index = -2
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 298.25
|
||||||
|
filled = true
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="MainBodyLEDBackground" type="Node2D" parent="."]
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 246.215
|
||||||
|
line_width = 72.66
|
||||||
|
detail = 90
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="HACK" type="Node2D" parent="MainBodyLEDBackground"]
|
||||||
|
rotation = 0.0371891
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 246.215
|
||||||
|
line_width = 72.66
|
||||||
|
detail = 90
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="PaddleTrack" type="Node2D" parent="."]
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 183.83
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="PaddleTrackOutline" type="Node2D" parent="PaddleTrack"]
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
radius = 184.415
|
||||||
|
line_width = 3.24
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="HACK" type="Node2D" parent="PaddleTrack/PaddleTrackOutline"]
|
||||||
|
rotation = 0.00711103
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
radius = 184.415
|
||||||
|
line_width = 3.24
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="DisplayOutline" type="Node2D" parent="."]
|
||||||
|
z_index = 1
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.47788, 0.47788, 0.47788, 1)
|
||||||
|
radius = 113.605
|
||||||
|
line_width = 9.2
|
||||||
|
detail = 67
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="FUCKINGHACK" type="Node2D" parent="DisplayOutline"]
|
||||||
|
z_index = 1
|
||||||
|
rotation = 0.0129723
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.47788, 0.47788, 0.47788, 1)
|
||||||
|
radius = 113.605
|
||||||
|
line_width = 9.2
|
||||||
|
detail = 67
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="LockTopBackgroundLit" type="Node2D" parent="."]
|
||||||
|
z_index = -4
|
||||||
|
position = Vector2(0, -405)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
radius = 190.0
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="LockTopBackgroundLit2" type="Node2D" parent="LockTopBackgroundLit"]
|
||||||
|
z_index = -2
|
||||||
|
position = Vector2(0, 179)
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
size = Vector2(380, 352.7)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="LockTopOutline" type="Node2D" parent="."]
|
||||||
|
z_index = -7
|
||||||
|
position = Vector2(0, -405)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 200.0
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="LockTopOutline2" type="Node2D" parent="LockTopOutline"]
|
||||||
|
z_index = -2
|
||||||
|
position = Vector2(0, 179)
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
size = Vector2(400, 352.7)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="LockTopInnerBackground" type="Node2D" parent="."]
|
||||||
|
z_index = -3
|
||||||
|
position = Vector2(0, -405)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 120.0
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="LockTopInnerBackground2" type="Node2D" parent="LockTopInnerBackground"]
|
||||||
|
z_index = -1
|
||||||
|
position = Vector2(0, 179)
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
size = Vector2(240, 352.7)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="TopScreenBackground" type="Node2D" parent="."]
|
||||||
|
z_index = -3
|
||||||
|
position = Vector2(0, -295)
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
size = Vector2(215.96, 133.325)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="LogoOutline" type="Node2D" parent="."]
|
||||||
|
z_index = 1
|
||||||
|
position = Vector2(0, -444)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
radius = 70.015
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="LogoBackground" type="Node2D" parent="."]
|
||||||
|
z_index = 1
|
||||||
|
position = Vector2(0, -444)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.14902, 0.14902, 0.14902, 1)
|
||||||
|
radius = 64.095
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
z_index = 1
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = -505.0
|
||||||
|
offset_right = 62.0
|
||||||
|
offset_bottom = -357.0
|
||||||
|
scale = Vector2(0.777311, 0.769849)
|
||||||
|
text = "Pop
|
||||||
|
the
|
||||||
|
Lock"
|
||||||
|
label_settings = SubResource("LabelSettings_h2yge")
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="PaddlePivot" type="Node2D" parent="." node_paths=PackedStringArray("FPS", "HitsLeft", "shapes")]
|
||||||
|
script = ExtResource("3_h2yge")
|
||||||
|
FPS = NodePath("../Label2")
|
||||||
|
HitsLeft = NodePath("../CenterDisplayController/DisplayBackground/Counter")
|
||||||
|
shapes = [NodePath("../MainBodyLit"), NodePath("../LockTopBackgroundLit"), NodePath("../LockTopBackgroundLit/LockTopBackgroundLit2"), NodePath("../TopScreenBackground")]
|
||||||
|
|
||||||
|
[node name="Circle2D" type="Node2D" parent="PaddlePivot"]
|
||||||
|
z_index = 8
|
||||||
|
position = Vector2(3.04231e-05, -174)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.719453, 3.7542e-06, 3.85046e-07, 1)
|
||||||
|
radius = 6.0
|
||||||
|
filled = true
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="Circle2D2" type="Node2D" parent="PaddlePivot"]
|
||||||
|
z_index = 8
|
||||||
|
position = Vector2(2.25551e-05, -129)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.719453, 3.7542e-06, 3.85046e-07, 1)
|
||||||
|
radius = 6.0
|
||||||
|
filled = true
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="Rectangle2D" type="Node2D" parent="PaddlePivot"]
|
||||||
|
z_index = 8
|
||||||
|
position = Vector2(0, -151)
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
color = Color(0.719453, 3.7542e-06, 3.85046e-07, 1)
|
||||||
|
size = Vector2(12, 44.92)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="."]
|
||||||
|
offset_left = -332.0
|
||||||
|
offset_top = -708.0
|
||||||
|
offset_right = -120.0
|
||||||
|
offset_bottom = -639.0
|
||||||
|
text = "FPS: xxx"
|
||||||
|
label_settings = SubResource("LabelSettings_1bvp3")
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Coin" type="Node2D" parent="."]
|
||||||
|
z_index = 1
|
||||||
|
position = Vector2(152, 0)
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0.933333, 0.878431, 0, 1)
|
||||||
|
radius = 26.175
|
||||||
|
filled = true
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="Background" type="Node2D" parent="."]
|
||||||
|
z_index = -100
|
||||||
|
script = ExtResource("2_0xm2m")
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
size = Vector2(1000, 10000)
|
||||||
|
centered = true
|
||||||
|
metadata/_custom_type_script = "uid://bspmrib6cl6qc"
|
||||||
|
|
||||||
|
[node name="GameManager" type="Node" parent="."]
|
||||||
|
script = ExtResource("4_lquwl")
|
||||||
|
|
||||||
|
[node name="CenterDisplayController" type="Node" parent="." node_paths=PackedStringArray("_background", "_counterLabel", "_togoLabel", "_pbtsLabel", "_pbstAnimationPlayer", "_counterAnimationPlayer")]
|
||||||
|
script = ExtResource("5_7mycd")
|
||||||
|
_background = NodePath("DisplayBackground")
|
||||||
|
_counterLabel = NodePath("DisplayBackground/Counter")
|
||||||
|
_togoLabel = NodePath("DisplayBackground/TO GO!")
|
||||||
|
_pbtsLabel = NodePath("DisplayBackground/Press Button To Start")
|
||||||
|
_pbstAnimationPlayer = NodePath("DisplayBackground/Press Button To Start/ColorFadeLoop")
|
||||||
|
_counterAnimationPlayer = NodePath("DisplayBackground/Counter/AnimationPlayer")
|
||||||
|
|
||||||
|
[node name="DisplayBackground" type="Node2D" parent="CenterDisplayController"]
|
||||||
|
z_index = 1
|
||||||
|
script = ExtResource("1_ig7tw")
|
||||||
|
color = Color(0, 0.75118, 0, 1)
|
||||||
|
radius = 105.185
|
||||||
|
filled = true
|
||||||
|
detail = 47
|
||||||
|
metadata/_custom_type_script = "uid://837wj2bp417t"
|
||||||
|
|
||||||
|
[node name="Counter" type="Label" parent="CenterDisplayController/DisplayBackground"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -106.0
|
||||||
|
offset_top = -115.0
|
||||||
|
offset_right = 106.0
|
||||||
|
offset_bottom = 69.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
pivot_offset = Vector2(106, 92)
|
||||||
|
text = "50"
|
||||||
|
label_settings = SubResource("LabelSettings_lquwl")
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="CenterDisplayController/DisplayBackground/Counter"]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_dg77c")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="TO GO!" type="Label" parent="CenterDisplayController/DisplayBackground"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -106.0
|
||||||
|
offset_top = -33.0
|
||||||
|
offset_right = 106.0
|
||||||
|
offset_bottom = 151.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
pivot_offset = Vector2(106, 92)
|
||||||
|
text = "TO GO!"
|
||||||
|
label_settings = SubResource("LabelSettings_7mycd")
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="Press Button To Start" type="Label" parent="CenterDisplayController/DisplayBackground"]
|
||||||
|
anchors_preset = 8
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -106.0
|
||||||
|
offset_top = -88.0
|
||||||
|
offset_right = 106.0
|
||||||
|
offset_bottom = 96.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
pivot_offset = Vector2(106, 92)
|
||||||
|
text = "Press Button
|
||||||
|
To Start"
|
||||||
|
label_settings = SubResource("LabelSettings_272bh")
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
|
||||||
|
[node name="ColorFadeLoop" type="AnimationPlayer" parent="CenterDisplayController/DisplayBackground/Press Button To Start"]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_272bh")
|
||||||
|
}
|
||||||
42
project.godot
Normal file
42
project.godot
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="PopTheLockClone"
|
||||||
|
run/main_scene="uid://dc7mdcm45gwcm"
|
||||||
|
config/features=PackedStringArray("4.4", "C#", "Forward Plus")
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=677
|
||||||
|
window/size/viewport_height=1113
|
||||||
|
window/stretch/mode="viewport"
|
||||||
|
|
||||||
|
[dotnet]
|
||||||
|
|
||||||
|
project/assembly_name="PopTheLockClone"
|
||||||
|
|
||||||
|
[editor_plugins]
|
||||||
|
|
||||||
|
enabled=PackedStringArray("res://addons/primitives2d/plugin.cfg")
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
Press={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
anti_aliasing/quality/msaa_2d=2
|
||||||
Loading…
Reference in New Issue
Block a user