1 #pragma once
2 #include "TCollisionComponent.h"
3 #include "TEdgeManager.h"
4 
5 
6 struct circle_type;
7 class TPinballTable;
8 class TEdgeManager;
9 struct gdrv_bitmap8;
10 
11 class TTableLayer :
12 	public TCollisionComponent
13 {
14 public:
15 	TTableLayer(TPinballTable* table);
16 	~TTableLayer() override;
17 	int FieldEffect(TBall* ball, vector_type* vecDst) override;
18 
19 	static void edges_insert_square(float y0, float x0, float y1, float x1, TEdgeSegment* edge,
20 	                                field_effect_type* field);
21 	static void edges_insert_circle(circle_type* circle, TEdgeSegment* edge, field_effect_type* field);
22 
23 	gdrv_bitmap8* VisBmp;
24 	float Unknown1F;
25 	float Unknown2F;
26 	float Unknown3F;
27 	float Unknown4F;
28 	float GraityDirX;
29 	float GraityDirY;
30 	float GraityMult;
31 	field_effect_type Field{};
32 
33 	static TEdgeManager* edge_manager;
34 };
35