7-29-25 @ 2:57am
This commit is contained in:
124
Gameplay/Ball.cs
124
Gameplay/Ball.cs
@@ -1,10 +1,19 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Runtime;
|
||||
|
||||
public partial class Ball : RigidBody2D
|
||||
{
|
||||
|
||||
[Signal]
|
||||
public delegate void OnHitEventHandler();
|
||||
public delegate void OnCollisionEventHandler(Ball TARGET);
|
||||
[Signal]
|
||||
public delegate void OnLaunchEventHandler();
|
||||
[Signal]
|
||||
public delegate void OnMovementEventHandler();
|
||||
[Signal]
|
||||
public delegate void OnStopEventHandler();
|
||||
|
||||
public bool _active = false, _placed = false, _potted = false, _available = false, _hovered = false, _selected = false, _aimed = false, _launched = false, _moving = false, _isCue = false;
|
||||
public float _moveThreshold = 5.0f;
|
||||
public Vector2 _newPosition = new Vector2(-1, -1);
|
||||
@@ -18,13 +27,11 @@ public partial class Ball : RigidBody2D
|
||||
return newBall;
|
||||
}
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void _Process(double DELTA_)
|
||||
{
|
||||
if (LinearVelocity.Length() > 0 && LinearVelocity.Length() < _moveThreshold)
|
||||
@@ -32,6 +39,7 @@ public partial class Ball : RigidBody2D
|
||||
Sleeping = true;
|
||||
if (_moving)
|
||||
{
|
||||
ProcessOnStop();
|
||||
_moving = false;
|
||||
if (_launched)
|
||||
{
|
||||
@@ -41,6 +49,7 @@ public partial class Ball : RigidBody2D
|
||||
}
|
||||
else if (LinearVelocity.Length() >= _moveThreshold)
|
||||
{
|
||||
ProcessOnMovement();
|
||||
if (!_moving)
|
||||
{
|
||||
_moving = true;
|
||||
@@ -63,11 +72,17 @@ public partial class Ball : RigidBody2D
|
||||
}
|
||||
}
|
||||
|
||||
public void Launch()
|
||||
{
|
||||
ProcessOnLaunch();
|
||||
}
|
||||
|
||||
public void Pot()
|
||||
{
|
||||
Sleeping = true;
|
||||
_active = false;
|
||||
_placed = false;
|
||||
_potted = true;
|
||||
Sleeping = true;
|
||||
_moving = false;
|
||||
}
|
||||
|
||||
@@ -78,7 +93,11 @@ public partial class Ball : RigidBody2D
|
||||
|
||||
private void OnBodyEntered(Node2D TARGET)
|
||||
{
|
||||
|
||||
if (TARGET is Ball)
|
||||
{
|
||||
Ball target = (Ball)TARGET;
|
||||
ProcessOnCollision(target);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseEntered()
|
||||
@@ -99,85 +118,86 @@ public partial class Ball : RigidBody2D
|
||||
|
||||
|
||||
//Processes
|
||||
public virtual void ProcessOnAdd()
|
||||
{
|
||||
// public virtual void ProcessOnAdd()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnBattleStart()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public virtual void ProcessOnBattleEnd()
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnCollision(Ball TARGET)
|
||||
{
|
||||
EmitSignal(SignalName.OnCollision, TARGET);
|
||||
}
|
||||
|
||||
public virtual void ProcessOnBattleStart()
|
||||
{
|
||||
// public virtual void ProcessOnCreation()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnBattleEnd()
|
||||
{
|
||||
// public virtual void ProcessOnCritical()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnCollision()
|
||||
{
|
||||
// public virtual void ProcessOnDeath()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnCreation()
|
||||
{
|
||||
// public virtual void ProcessOnDefend()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnCritical()
|
||||
{
|
||||
// public virtual void ProcessOnExpiration()
|
||||
// {
|
||||
|
||||
}
|
||||
|
||||
public virtual void ProcessOnDeath()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void ProcessOnDefend()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void ProcessOnExpiration()
|
||||
{
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnLaunch()
|
||||
{
|
||||
|
||||
_launched = true;
|
||||
EmitSignal(SignalName.OnLaunch);
|
||||
}
|
||||
|
||||
public virtual void ProcessOnMovement()
|
||||
{
|
||||
|
||||
EmitSignal(SignalName.OnMovement);
|
||||
}
|
||||
|
||||
public virtual void ProcessOnRemove()
|
||||
{
|
||||
// public virtual void ProcessOnRemove()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnSell()
|
||||
{
|
||||
// public virtual void ProcessOnSell()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnStop()
|
||||
{
|
||||
|
||||
EmitSignal(SignalName.OnStop);
|
||||
}
|
||||
|
||||
public virtual void ProcessOnTurnEnd()
|
||||
{
|
||||
// public virtual void ProcessOnTurnEnd()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public virtual void ProcessOnTurnStart()
|
||||
{
|
||||
// public virtual void ProcessOnTurnStart()
|
||||
// {
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user