From d4b7c0bf451769302bdc3ec9fcb26af378b9a42e Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Wed, 26 Mar 2025 00:26:29 +0100 Subject: [PATCH] Translated some scripts from GDscript to C# --- prefabs/Player3D.tscn | 4 +- prefabs/interaction_area.tscn | 8 ++-- scenes/Babushka_scene_farm_vesna.tscn | 15 +------ scenes/testing/abandoned_street_2D.tscn | 4 +- scenes/testing/abandoned_street_3d.tscn | 2 - scripts/CSharp/Common/CameraController.cs | 16 +++++++ scripts/CSharp/Common/CameraController.cs.uid | 1 + scripts/CSharp/Common/CameraPivot.cs | 45 +++++++++++++++++++ scripts/CSharp/Common/CameraPivot.cs.uid | 1 + scripts/CSharp/Common/InteractionArea.cs | 29 ++++++++++++ scripts/CSharp/Common/InteractionArea.cs.uid | 1 + scripts/CSharp/Common/test.cs | 17 ------- scripts/CSharp/Common/test2.cs | 6 --- scripts/GdScript/camera_controller.gd | 2 + scripts/GdScript/camera_pivot.gd | 2 + scripts/GdScript/interaction_area.gd | 2 + 16 files changed, 110 insertions(+), 45 deletions(-) create mode 100644 scripts/CSharp/Common/CameraController.cs create mode 100644 scripts/CSharp/Common/CameraController.cs.uid create mode 100644 scripts/CSharp/Common/CameraPivot.cs create mode 100644 scripts/CSharp/Common/CameraPivot.cs.uid create mode 100644 scripts/CSharp/Common/InteractionArea.cs create mode 100644 scripts/CSharp/Common/InteractionArea.cs.uid delete mode 100644 scripts/CSharp/Common/test.cs delete mode 100644 scripts/CSharp/Common/test2.cs diff --git a/prefabs/Player3D.tscn b/prefabs/Player3D.tscn index 1e914f1..0d13e9b 100644 --- a/prefabs/Player3D.tscn +++ b/prefabs/Player3D.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://cvn2p215jq2am" path="res://graphics/mockups/concerned.png" id="1_5jpx2"] [ext_resource type="Script" uid="uid://dke381v8tafqn" path="res://scripts/GdScript/player_3d.gd" id="1_08wm4"] -[ext_resource type="Script" uid="uid://c4fc60lv6436s" path="res://scripts/GdScript/camera_pivot.gd" id="3_drcdp"] +[ext_resource type="Script" uid="uid://c81bn1w8o0n2n" path="res://scripts/CSharp/Common/CameraPivot.cs" id="3_3trg2"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1vdrh"] radius = 0.0478421 @@ -28,7 +28,7 @@ shape = SubResource("CapsuleShape3D_1vdrh") [node name="CameraPivot" type="Node3D" parent="CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.159723, 0) -script = ExtResource("3_drcdp") +script = ExtResource("3_3trg2") [node name="SubPivot" type="Node3D" parent="CharacterBody3D/CameraPivot"] transform = Transform3D(1, 0, 0, 0, 0.901878, 0.431991, 0, -0.431991, 0.901878, 0, 0, 0) diff --git a/prefabs/interaction_area.tscn b/prefabs/interaction_area.tscn index 3ffd991..e479f56 100644 --- a/prefabs/interaction_area.tscn +++ b/prefabs/interaction_area.tscn @@ -1,12 +1,14 @@ [gd_scene load_steps=3 format=3 uid="uid://ob04y3syvo0e"] -[ext_resource type="Script" uid="uid://bfwe1vlfyknm7" path="res://scripts/GdScript/interaction_area.gd" id="1_26v5g"] +[ext_resource type="Script" uid="uid://cgkea4bmd6a8f" path="res://scripts/CSharp/Common/InteractionArea.cs" id="1_b15wn"] [sub_resource type="SphereShape3D" id="SphereShape3D_i8sim"] radius = 1.0 -[node name="InteractionArea" type="Node3D"] -script = ExtResource("1_26v5g") +[node name="InteractionArea" type="Node3D" node_paths=PackedStringArray("_area", "_label")] +script = ExtResource("1_b15wn") +_area = NodePath("Area3D") +_label = NodePath("Label3D") [node name="Area3D" type="Area3D" parent="."] collision_mask = 16 diff --git a/scenes/Babushka_scene_farm_vesna.tscn b/scenes/Babushka_scene_farm_vesna.tscn index 53caf8f..612c872 100644 --- a/scenes/Babushka_scene_farm_vesna.tscn +++ b/scenes/Babushka_scene_farm_vesna.tscn @@ -1,6 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://br7yq757cawts"] - -[ext_resource type="Texture2D" uid="uid://ckvytnpi8gcxq" path="res://graphics/eyes_atlas.png" id="1_y80ib"] +[gd_scene load_steps=4 format=3 uid="uid://br7yq757cawts"] [sub_resource type="PlaneMesh" id="PlaneMesh_8yprl"] @@ -23,14 +21,3 @@ surface_material_override/0 = SubResource("StandardMaterial3D_8tgff") [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000976563, -0.0739136, -0.00112915) shape = SubResource("BoxShape3D_t58di") - -[node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource("1_y80ib") -region_enabled = true -region_rect = Rect2(546, -51, 305, 257) - -[node name="Sprite2D2" type="Sprite2D" parent="."] -position = Vector2(387, -114) -texture = ExtResource("1_y80ib") -region_enabled = true -region_rect = Rect2(1717, -38, 374, 204) diff --git a/scenes/testing/abandoned_street_2D.tscn b/scenes/testing/abandoned_street_2D.tscn index 3806aea..0838a8d 100644 --- a/scenes/testing/abandoned_street_2D.tscn +++ b/scenes/testing/abandoned_street_2D.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=12 format=3 uid="uid://dx7gn5yiq1aki"] +[gd_scene load_steps=13 format=3 uid="uid://dx7gn5yiq1aki"] [ext_resource type="PackedScene" uid="uid://dd3giw31imfk4" path="res://prefabs/player.tscn" id="1_aa8yc"] [ext_resource type="Texture2D" uid="uid://cg1cxmqbo1pa" path="res://graphics/mockups/trees/darktree1.png" id="2_k41x3"] +[ext_resource type="Script" uid="uid://b4h7k5w0jsjri" path="res://scripts/CSharp/Common/CameraController.cs" id="2_tykdc"] [ext_resource type="Texture2D" uid="uid://fcm6etmmj65d" path="res://graphics/mockups/trees/darktree2.png" id="3_tykdc"] [ext_resource type="Texture2D" uid="uid://c8h24ouqcqlxv" path="res://graphics/mockups/trees/darktree3.png" id="4_4u5mu"] [ext_resource type="Texture2D" uid="uid://dcimm8umxko8" path="res://graphics/mockups/trees/darktree4.png" id="5_y2pux"] @@ -21,6 +22,7 @@ position = Vector2(586, 343) [node name="Camera2D" type="Camera2D" parent="."] position = Vector2(578, 327) +script = ExtResource("2_tykdc") [node name="background" type="Node2D" parent="."] diff --git a/scenes/testing/abandoned_street_3d.tscn b/scenes/testing/abandoned_street_3d.tscn index ac9e3e3..08d2659 100644 --- a/scenes/testing/abandoned_street_3d.tscn +++ b/scenes/testing/abandoned_street_3d.tscn @@ -1375,5 +1375,3 @@ shaded = true texture = ExtResource("26_7nyv4") [node name="Player3d" parent="." instance=ExtResource("27_mqdni")] - -[connection signal="interacted" from="semi_cat/InteractionArea" to="semi_cat/Dialogic" method="open" binds= ["semi_cat"]] diff --git a/scripts/CSharp/Common/CameraController.cs b/scripts/CSharp/Common/CameraController.cs new file mode 100644 index 0000000..d3c7c49 --- /dev/null +++ b/scripts/CSharp/Common/CameraController.cs @@ -0,0 +1,16 @@ +using Godot; + +namespace Babushka.scripts.CSharp.Common; + +public partial class CameraController : Camera2D +{ + [Export] private float _multiplier = 1.0f; + [Export] private Node2D _followNode; + + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + this.Position = _followNode.Transform.Origin * _multiplier; + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/CameraController.cs.uid b/scripts/CSharp/Common/CameraController.cs.uid new file mode 100644 index 0000000..1bd96dc --- /dev/null +++ b/scripts/CSharp/Common/CameraController.cs.uid @@ -0,0 +1 @@ +uid://b4h7k5w0jsjri diff --git a/scripts/CSharp/Common/CameraPivot.cs b/scripts/CSharp/Common/CameraPivot.cs new file mode 100644 index 0000000..c0d9f97 --- /dev/null +++ b/scripts/CSharp/Common/CameraPivot.cs @@ -0,0 +1,45 @@ +using Godot; + +namespace Babushka.scripts.CSharp.Common; + +public partial class CameraPivot : Node3D +{ + [Export] private bool _canPitch; + [Export] private bool _canYaw; + [Export] private float _rotateSpeed = 0.003f; + [Export] private Node3D _subPivot; + + public override void _Ready() + { + Input.MouseMode = Input.MouseModeEnum.Captured; + } + + public override void _Input(InputEvent @event) + { + if(@event.IsActionPressed("click")) + { + if (Input.MouseMode == Input.MouseModeEnum.Visible) + { + Input.MouseMode = Input.MouseModeEnum.Captured; + } + } + + if (@event.IsActionPressed("ui_cancel")) + { + Input.MouseMode = Input.MouseModeEnum.Visible; + } + + if (@event is InputEventMouseMotion test) + { + if (Input.MouseMode != Input.MouseModeEnum.Captured) + return; + + if (_canYaw) + _subPivot.RotateX(test.Relative.Y * -_rotateSpeed); + if(_canPitch) + this.RotateY(test.Relative.X * -_rotateSpeed); + + } + } + +} \ No newline at end of file diff --git a/scripts/CSharp/Common/CameraPivot.cs.uid b/scripts/CSharp/Common/CameraPivot.cs.uid new file mode 100644 index 0000000..dc9642b --- /dev/null +++ b/scripts/CSharp/Common/CameraPivot.cs.uid @@ -0,0 +1 @@ +uid://c81bn1w8o0n2n diff --git a/scripts/CSharp/Common/InteractionArea.cs b/scripts/CSharp/Common/InteractionArea.cs new file mode 100644 index 0000000..b91779f --- /dev/null +++ b/scripts/CSharp/Common/InteractionArea.cs @@ -0,0 +1,29 @@ +using Godot; + +namespace Babushka.scripts.CSharp.Common; + +public partial class InteractionArea : Node3D +{ + [Export] private Area3D _area; + [Export] private Label3D _label; + + [Signal] + public delegate void InteractedEventHandler(); + + public override void _Process(double d) + { + if (_area.HasOverlappingBodies()) + _label.Show(); + else + _label.Hide(); + } + + public override void _Input(InputEvent @event) + { + if(@event.IsAction("interact") && @event.IsPressed() && _area.HasOverlappingBodies()) + EmitSignal(SignalName.Interacted); + } + + +} + diff --git a/scripts/CSharp/Common/InteractionArea.cs.uid b/scripts/CSharp/Common/InteractionArea.cs.uid new file mode 100644 index 0000000..a02f4a3 --- /dev/null +++ b/scripts/CSharp/Common/InteractionArea.cs.uid @@ -0,0 +1 @@ +uid://cgkea4bmd6a8f diff --git a/scripts/CSharp/Common/test.cs b/scripts/CSharp/Common/test.cs deleted file mode 100644 index a9afb06..0000000 --- a/scripts/CSharp/Common/test.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Godot; - -namespace Babushka.scripts.CSharp.Common; - -public partial class test : Node2D -{ - // Called when the node enters the scene tree for the first time. - public override void _Ready() - { - - } - - // Called every frame. 'delta' is the elapsed time since the previous frame. - public override void _Process(double delta) - { - } -} \ No newline at end of file diff --git a/scripts/CSharp/Common/test2.cs b/scripts/CSharp/Common/test2.cs deleted file mode 100644 index aea7a4c..0000000 --- a/scripts/CSharp/Common/test2.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Babushka.scripts.CSharp.Common; - -public class test2 -{ - -} \ No newline at end of file diff --git a/scripts/GdScript/camera_controller.gd b/scripts/GdScript/camera_controller.gd index 5a85890..7d61386 100644 --- a/scripts/GdScript/camera_controller.gd +++ b/scripts/GdScript/camera_controller.gd @@ -1,5 +1,7 @@ extends Camera2D +# DEPRECATED, please use the version from the C#-folder + @export var multiplier = 1.0 @export var followNode: Node2D diff --git a/scripts/GdScript/camera_pivot.gd b/scripts/GdScript/camera_pivot.gd index 6608b21..c9a1a88 100644 --- a/scripts/GdScript/camera_pivot.gd +++ b/scripts/GdScript/camera_pivot.gd @@ -1,5 +1,7 @@ extends Node3D +# DEPRECATED, please use C# version + @export var canPitch: bool = false @export var canYaw: bool = false @export var rotateSpeed: float = 0.003 diff --git a/scripts/GdScript/interaction_area.gd b/scripts/GdScript/interaction_area.gd index e1f9d24..eaad3b3 100644 --- a/scripts/GdScript/interaction_area.gd +++ b/scripts/GdScript/interaction_area.gd @@ -1,5 +1,7 @@ extends Node3D +# DEPRECATED + @onready var area_3d: Area3D = $Area3D @onready var label_3d: Label3D = $Label3D