player variables uses getter and setter instead of function

This commit is contained in:
2023-02-23 08:11:42 +01:00
parent 08b306f827
commit 4e0ec4994f
6 changed files with 34 additions and 21 deletions

View File

@@ -1,16 +0,0 @@
using Godot;
using System;
using System.Text.RegularExpressions;
public partial class player_variables : Node
{
public static string PlayerName = "Yannik";
public static void ClearPlayerName() //normal getter setter crashes for some reason
{
PlayerName = Regex.Replace(PlayerName, @"\[[^]]+\]", "");
PlayerName = Regex.Replace(PlayerName, @"<[^>]*>", "");
if (PlayerName.Length > 12)
PlayerName = PlayerName.Substring(0, 12);
}
}

View File

@@ -18,7 +18,7 @@ config/icon="res://assets/textures/debug/dummy-player-normal.png"
[autoload]
Essential="res://src/essential.cs"
PlayerVariables="*res://player_variables.cs"
PlayerVariables="*res://src/player_variables.cs"
[display]

View File

@@ -86,8 +86,7 @@ animations = [{
}]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_38v5o"]
radius = 7.99997
height = 32.0
height = 50.0
[node name="player" type="CharacterBody2D"]
process_mode = 1
@@ -142,7 +141,8 @@ visible = false
position = Vector2(0, 38)
rotation = 1.57345
shape = SubResource("CapsuleShape2D_38v5o")
metadata/_edit_lock_ = true
[node name="console" parent="." instance=ExtResource("4_kw3hh")]
visible = false
[connection signal="animation_changed" from="animated_sprite_2d" to="." method="OnAnimationChanged"]

19
src/player_variables.cs Normal file
View File

@@ -0,0 +1,19 @@
using Godot;
using System;
using System.Text.RegularExpressions;
public partial class player_variables : Node
{
private static string _playername = "Yannik";
public static string PlayerName
{
get { return _playername; }
set
{
_playername = Regex.Replace(value, @"\[[^]]+\]", "");
_playername = Regex.Replace(_playername, @"<[^>]*>", "");
if (PlayerName.Length > 12)
_playername = PlayerName.Substring(0, 12);
}
}
}

View File

@@ -103,7 +103,6 @@ public partial class console : PopupPanel
public void playername(string name)
{
player_variables.PlayerName = name;
player_variables.ClearPlayerName();
textblock.AddText("Your new name is now: " + player_variables.PlayerName + "\n");
}
public void reload() => GetTree().ReloadCurrentScene();

View File

@@ -57,4 +57,15 @@ public partial class player : CharacterBody2D
animatedSprite.SpeedScale = Math.Abs(movement.Y * speed * 1.3f);
}
}
public void OnAnimationChanged()
{
if (animatedSprite.Animation == "move_side")
{
//GetNode<CollisionShape2D>("collision_shape").Shape
}
else
{
}
}
}