switching up some more clicking

This commit is contained in:
2026-06-25 18:11:43 -04:00
parent 37da9a4e84
commit fc32baa071
9 changed files with 57 additions and 58 deletions
+5 -5
View File
@@ -18,18 +18,18 @@ public partial class HoverableNode : Node2D
_bounds.MouseEntered += OnMouseEntered;
_bounds.MouseExited += OnMouseExited;
}
public override void _Input(InputEvent @event)
public override void _Process(double delta)
{
base._Process(delta);
if (_hovered)
{
if (Input.IsActionJustReleased("lmb"))
if (Input.IsActionJustPressed("leftClick"))
{
EmitSignal(SignalName.Click, this, 0);
}
if (Input.IsActionJustReleased("rmb"))
if (Input.IsActionJustPressed("rightClick"))
{
EmitSignal(SignalName.Click, this, 1);
EmitSignal(SignalName.Click, this, 2);
}
}
}
-19
View File
@@ -7,10 +7,6 @@ public partial class Peg : HoverableNode
{
[Signal]
public delegate void DeathEventHandler(Peg THIS);
[Signal]
public delegate void ClickedEventHandler(Peg THIS);
[Signal]
public delegate void RightClickedEventHandler(Peg THIS);
public bool _track = false, _warp = false;
public int _damage = 1, _health = 2, _stamina, _staminaRemaining, _visibilityRange = 4, _hitRange, _attackCost = 1;
public Dictionary<string, int> _priorities = new()
@@ -29,21 +25,6 @@ public partial class Peg : HoverableNode
base._Ready();
_attack = GetNode<Sprite2D>("Attack");
}
public override void _Process(double delta)
{
base._Process(delta);
if (_hovered)
{
if (Input.IsActionJustPressed("leftClick"))
{
EmitSignal(SignalName.Clicked, this);
}
if (Input.IsActionJustPressed("rightClick"))
{
EmitSignal(SignalName.RightClicked, this);
}
}
}
public void Attack()
{
// _attack.Visible = true;
+22 -18
View File
@@ -20,8 +20,7 @@ public partial class PegController : TurnController
{
HostilePeg newHostilePeg = _hostilePegScene.Instantiate<HostilePeg>();
newHostilePeg.Death += HandlePegRemoval;
newHostilePeg.Clicked += HandlePegClick;
newHostilePeg.RightClicked += HandlePegRightClick;
newHostilePeg.Click += HandlePegClick;
newHostilePeg._stamina = Globals._rng.Next(2,4+1);
newHostilePeg.Modulate = new Color(newHostilePeg._stamina == 2 ? "#FF0000" : newHostilePeg._stamina == 3 ? "#00FF00" : "#0000FF");
@@ -39,8 +38,7 @@ public partial class PegController : TurnController
{
HostilePeg newHostilePeg = _hostilePegScene.Instantiate<HostilePeg>();
newHostilePeg.Death += HandlePegRemoval;
newHostilePeg.Clicked += HandlePegClick;
newHostilePeg.RightClicked += HandlePegRightClick;
newHostilePeg.Click += HandlePegClick;
newHostilePeg._stamina = Globals._rng.Next(2,4+1);
newHostilePeg._hitRange = Globals._rng.Next(1,2+1);
@@ -95,25 +93,31 @@ public partial class PegController : TurnController
}
public void HandlePegClick(Peg PEG)
public void HandlePegClick(Node CLICKED_NODE, int CLICK_TYPE)
{
if (PEG._staminaRemaining <= 0){
if (CLICKED_NODE is not Peg peg)
{
return;
}
TileMapLayer pathLayer = _playArea.GetNode<TileMapLayer>("PathLayer");
List<Vector2I> newPath = PEG.GetBestPath();
pathLayer.GetUsedCells().ToList().ForEach(c => pathLayer.SetCell(c,0,Vector2I.Down*4));
for (int i = 0; i < newPath.Count; i++)
if (CLICK_TYPE == 0)
{
pathLayer.SetCell(newPath[i],0,Vector2I.One);
}
}
if (peg._staminaRemaining <= 0){
return;
}
TileMapLayer pathLayer = _playArea.GetNode<TileMapLayer>("PathLayer");
List<Vector2I> newPath = peg.GetBestPath();
public void HandlePegRightClick(Peg PEG)
{
HandlePegRemoval(PEG);
pathLayer.GetUsedCells().ToList().ForEach(c => pathLayer.SetCell(c,0,Vector2I.Down*4));
for (int i = 0; i < newPath.Count; i++)
{
pathLayer.SetCell(newPath[i],0,Vector2I.One);
}
}
else if (CLICK_TYPE == 2)
{
HandlePegRemoval(peg);
}
}
public void HandlePegPathing(Peg PEG)
+4 -3
View File
@@ -3,9 +3,9 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
public partial class Tower : Sprite2D
public partial class Tower : HoverableNode
{
public bool _hovered, _aiming;
public bool _aiming;
public int _launchSpeed = 1000, _arcIterations = 50;
public Vector2 _aimOffset, _arcEnd;
public List<Vector2> _arc = new();
@@ -16,9 +16,9 @@ public partial class Tower : Sprite2D
{
base._Ready();
_area = GetNode<Area2D>("Area");
_offset = GetNode<Marker2D>("Offset");
_attackSpawn = GetNode<Marker2D>("AttackSpawn");
// Click += HandleClick;
}
public override void _Process(double delta)
{
@@ -56,6 +56,7 @@ public partial class Tower : Sprite2D
}
}
}
}
public float CalculateLaunchAngle(Vector2 START, Vector2 END, int MAX_ITERATIONS = 20)
+14 -6
View File
@@ -1,8 +1,8 @@
[gd_scene format=3 uid="uid://drt7w0eqp13tu"]
[ext_resource type="Script" uid="uid://dfba4vq6jv0a6" path="res://HostilePeg.cs" id="1_4gyqm"]
[ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="1_7k104"]
[ext_resource type="Texture2D" uid="uid://m4wfj36twmqy" path="res://Art/attack.png" id="3_qi2p4"]
[ext_resource type="Script" uid="uid://dfba4vq6jv0a6" path="res://HostilePeg.cs" id="1_nc8fp"]
[ext_resource type="Texture2D" uid="uid://nwj4n7if8kqd" path="res://Art/circle25r.png" id="2_0icqg"]
[ext_resource type="Texture2D" uid="uid://m4wfj36twmqy" path="res://Art/attack.png" id="3_en3ow"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_7k104"]
bounce = 0.5
@@ -10,10 +10,13 @@ bounce = 0.5
[sub_resource type="CircleShape2D" id="CircleShape2D_4gyqm"]
radius = 12.5
[sub_resource type="CircleShape2D" id="CircleShape2D_6w6fg"]
radius = 12.5
[node name="HostilePeg" type="StaticBody2D" unique_id=1417697759]
input_pickable = true
physics_material_override = SubResource("PhysicsMaterial_7k104")
script = ExtResource("1_4gyqm")
script = ExtResource("1_nc8fp")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1762191899]
shape = SubResource("CircleShape2D_4gyqm")
@@ -21,12 +24,17 @@ shape = SubResource("CircleShape2D_4gyqm")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1941012605]
texture_filter = 1
scale = Vector2(0.5, 0.5)
texture = ExtResource("1_7k104")
texture = ExtResource("2_0icqg")
[node name="Attack" type="Sprite2D" parent="." unique_id=1776738311]
visible = false
texture_filter = 1
texture = ExtResource("3_qi2p4")
texture = ExtResource("3_en3ow")
[node name="HoverBounds" type="Area2D" parent="." unique_id=937525982]
[node name="CollisionShape2D" type="CollisionShape2D" parent="HoverBounds" unique_id=2142666816]
shape = SubResource("CircleShape2D_6w6fg")
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
+2 -2
View File
@@ -5,6 +5,6 @@
[node name="HoverableNode" type="Node2D" unique_id=946672764]
script = ExtResource("1_14v3m")
[node name="Bounds" type="Area2D" parent="." unique_id=783465962]
[node name="HoverBounds" type="Area2D" parent="." unique_id=783465962]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Bounds" unique_id=585114419]
[node name="CollisionShape2D" type="CollisionShape2D" parent="HoverBounds" unique_id=585114419]
+1 -1
View File
@@ -12,7 +12,7 @@ script = ExtResource("1_ig7tw")
[node name="PlayArea" parent="." unique_id=1123610167 instance=ExtResource("2_1bvp3")]
position = Vector2(360, 180)
[node name="EnemyController" parent="." unique_id=1894449838 instance=ExtResource("4_1bvp3")]
[node name="PegController" parent="." unique_id=1894449838 instance=ExtResource("4_1bvp3")]
[node name="PlayerController" parent="." unique_id=364781168 instance=ExtResource("4_lquwl")]
+5
View File
@@ -28,5 +28,10 @@ visible = false
texture_filter = 1
texture = ExtResource("3_inmy4")
[node name="HoverBounds" type="Area2D" parent="." unique_id=2086452813]
[node name="CollisionShape2D" type="CollisionShape2D" parent="HoverBounds" unique_id=252175102]
shape = SubResource("CircleShape2D_4gyqm")
[connection signal="mouse_entered" from="." to="." method="OnMouseEntered"]
[connection signal="mouse_exited" from="." to="." method="OnMouseExited"]
+4 -4
View File
@@ -11,9 +11,9 @@ self_modulate = Color(0, 0, 0, 1)
texture = ExtResource("1_vedim")
script = ExtResource("1_k1sas")
[node name="Area" type="Area2D" parent="." unique_id=620986087]
[node name="HoverBounds" type="Area2D" parent="." unique_id=620986087]
[node name="Bounds" type="CollisionShape2D" parent="Area" unique_id=1639875880]
[node name="CollisionShape2D" type="CollisionShape2D" parent="HoverBounds" unique_id=1639875880]
position = Vector2(0, 0.5)
shape = SubResource("RectangleShape2D_vedim")
debug_color = Color(0.6411928, 0.52469516, 0, 0.41960785)
@@ -24,5 +24,5 @@ position = Vector2(25, -50)
[node name="AttackSpawn" type="Marker2D" parent="." unique_id=715904909]
position = Vector2(0, -24)
[connection signal="mouse_entered" from="Area" to="." method="OnMouseEntered"]
[connection signal="mouse_exited" from="Area" to="." method="OnMouseExited"]
[connection signal="mouse_entered" from="HoverBounds" to="." method="OnMouseEntered"]
[connection signal="mouse_exited" from="HoverBounds" to="." method="OnMouseExited"]