#pragma once
#include "TCircle.h"
#include "TCollisionComponent.h"
#include "TEdgeManager.h"

class THole :
	public TCollisionComponent
{
public:
	THole(TPinballTable* table, int groupIndex);
	int Message(MessageCode code, float value) override;
	void Collision(TBall* ball, vector2* nextPosition, vector2* direction, float distance,
	               TEdgeSegment* edge) override;
	int FieldEffect(TBall* ball, vector2* vecDst) override;

	static void TimerExpired(int timerId, void* caller);

	bool BallCapturedFlag{};
	bool BallCapturedSecondStage{};
	int Timer;
	float Unknown3;
	float Unknown4;
	float GravityMult;
	float ZSetValue;
	int CollisionMask;
	float GravityPull;
	circle_type Circle{};
	field_effect_type Field{};
};
