chore: bumped dotnet version to 10
This commit is contained in:
@@ -16,19 +16,8 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D
|
||||
private readonly Event<IUniverseObject, IUniverseObject.ParentChangedArguments>.EventHandler delegateUpdateRigidBody2D = null!;
|
||||
|
||||
protected bool NeedsRecalculation { get; set; } = true;
|
||||
protected IRigidBody2D? _rigidBody2D = null;
|
||||
|
||||
protected Collider2DBase()
|
||||
{
|
||||
delegateOnBehaviourAddedToController = OnBehaviourAddedToController;
|
||||
delegateOnBehaviourRemovedFromController = OnBehaviourRemovedFromController;
|
||||
delegateSetNeedsRecalculationFromPosition = SetNeedsRecalculationFromPosition;
|
||||
delegateSetNeedsRecalculationFromRotation = SetNeedsRecalculationFromRotation;
|
||||
delegateSetNeedsRecalculationFromScale = SetNeedsRecalculationFromScale;
|
||||
delegateUpdateRigidBody2D = UpdateRigidBody2D;
|
||||
}
|
||||
|
||||
public IRigidBody2D? RigidBody2D => _rigidBody2D;
|
||||
public IRigidBody2D? RigidBody2D { get; protected set; } = null;
|
||||
public bool IsTrigger { get; set; } = false;
|
||||
|
||||
public void Recalculate()
|
||||
@@ -46,7 +35,8 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D
|
||||
{
|
||||
base.OnInitialize();
|
||||
|
||||
BehaviourController.TryGetBehaviourInParent(out _rigidBody2D);
|
||||
BehaviourController.TryGetBehaviourInParent(out IRigidBody2D? foundRigidBody2D);
|
||||
RigidBody2D = foundRigidBody2D;
|
||||
|
||||
BehaviourController.OnBehaviourAdded.AddListener(delegateOnBehaviourAddedToController);
|
||||
BehaviourController.OnBehaviourRemoved.AddListener(delegateOnBehaviourRemovedFromController);
|
||||
@@ -59,19 +49,20 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D
|
||||
|
||||
private void UpdateRigidBody2D(IUniverseObject sender, IUniverseObject.ParentChangedArguments args)
|
||||
{
|
||||
BehaviourController.TryGetBehaviourInParent(out _rigidBody2D);
|
||||
BehaviourController.TryGetBehaviourInParent(out IRigidBody2D? foundRigidBody2D);
|
||||
RigidBody2D = foundRigidBody2D;
|
||||
}
|
||||
|
||||
private void OnBehaviourAddedToController(IBehaviourController sender, IBehaviourController.BehaviourAddedArguments args)
|
||||
{
|
||||
if (args.BehaviourAdded is IRigidBody2D rigidBody)
|
||||
_rigidBody2D = rigidBody;
|
||||
RigidBody2D = rigidBody;
|
||||
}
|
||||
|
||||
private void OnBehaviourRemovedFromController(IBehaviourController sender, IBehaviourController.BehaviourRemovedArguments args)
|
||||
{
|
||||
if (args.BehaviourRemoved is IRigidBody2D)
|
||||
_rigidBody2D = null;
|
||||
RigidBody2D = null;
|
||||
}
|
||||
|
||||
private void SetNeedsRecalculationFromPosition(ITransform2D sender, ITransform2D.PositionChangedArguments args) => NeedsRecalculation = true;
|
||||
@@ -93,4 +84,14 @@ public abstract class Collider2DBase : Behaviour2D, ICollider2D
|
||||
public void Detect(CollisionDetectionInformation collisionDetectionInformation) => OnCollisionDetected?.Invoke(this, collisionDetectionInformation);
|
||||
public void Resolve(CollisionDetectionInformation collisionDetectionInformation) => OnCollisionResolved?.Invoke(this, collisionDetectionInformation);
|
||||
public void Trigger(ICollider2D initiator) => OnTriggered?.Invoke(this, initiator);
|
||||
|
||||
protected Collider2DBase()
|
||||
{
|
||||
delegateOnBehaviourAddedToController = OnBehaviourAddedToController;
|
||||
delegateOnBehaviourRemovedFromController = OnBehaviourRemovedFromController;
|
||||
delegateSetNeedsRecalculationFromPosition = SetNeedsRecalculationFromPosition;
|
||||
delegateSetNeedsRecalculationFromRotation = SetNeedsRecalculationFromRotation;
|
||||
delegateSetNeedsRecalculationFromScale = SetNeedsRecalculationFromScale;
|
||||
delegateUpdateRigidBody2D = UpdateRigidBody2D;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user