Tuesday, 05 August 2025 01:43:58
This commit is contained in:
@@ -1,14 +1,33 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public partial class Table : Sprite2D
|
||||
|
||||
{
|
||||
public static Table _Create()
|
||||
[Signal]
|
||||
public delegate void OnBallPottedEventHandler(Ball THIS, Pocket POCKET);
|
||||
List<Pocket> _pockets;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
PackedScene scene = ResourceLoader.Load<PackedScene>("res://Gameplay/table.tscn");
|
||||
Table newTable = scene.Instantiate<Table>();
|
||||
|
||||
return newTable;
|
||||
_pockets = GetNode<Node2D>("Pockets")
|
||||
.GetChildren()
|
||||
.Select(n => (Pocket)n)
|
||||
.ToList<Pocket>();
|
||||
|
||||
for (int i = 0; i < _pockets.Count; i++)
|
||||
{
|
||||
_pockets[i].OnBallPotted += BallPotted;
|
||||
}
|
||||
}
|
||||
|
||||
public void BallPotted(Node NODE, Pocket POCKET)
|
||||
{
|
||||
if (NODE is Ball)
|
||||
{
|
||||
EmitSignal(SignalName.OnBallPotted, (Ball)NODE, POCKET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user