2020-11-01 16:45:29 +01:00
|
|
|
#pragma once
|
2021-01-19 16:28:48 +01:00
|
|
|
|
2020-11-28 13:59:42 +01:00
|
|
|
#include "TCollisionComponent.h"
|
2021-01-19 16:28:48 +01:00
|
|
|
#include "TEdgeManager.h"
|
|
|
|
|
|
|
|
struct ramp_plane_type;
|
2020-11-28 13:59:42 +01:00
|
|
|
|
2020-11-01 16:45:29 +01:00
|
|
|
class TRamp :
|
2020-11-28 13:59:42 +01:00
|
|
|
public TCollisionComponent
|
2020-11-01 16:45:29 +01:00
|
|
|
{
|
|
|
|
public:
|
2021-01-19 16:28:48 +01:00
|
|
|
TRamp(TPinballTable* table, int groupIndex);
|
|
|
|
void put_scoring(int index, int score) override;
|
|
|
|
int get_scoring(int index) override;
|
|
|
|
void Collision(TBall* ball, vector_type* nextPosition, vector_type* direction, float coef,
|
|
|
|
TEdgeSegment* edge) override;
|
|
|
|
int FieldEffect(TBall* ball, vector_type* vecDst) override;
|
2020-12-04 16:35:47 +01:00
|
|
|
void port_draw() override;
|
2021-01-19 16:28:48 +01:00
|
|
|
|
2021-10-02 17:58:54 +02:00
|
|
|
int Scores[4]{};
|
|
|
|
field_effect_type Field{};
|
2021-01-28 16:01:26 +01:00
|
|
|
int CollisionGroup;
|
2021-01-19 16:28:48 +01:00
|
|
|
int RampFlag1;
|
|
|
|
int RampPlaneCount;
|
|
|
|
float BallFieldMult;
|
|
|
|
ramp_plane_type* RampPlane;
|
|
|
|
TEdgeSegment* Line2;
|
|
|
|
TEdgeSegment* Line3;
|
|
|
|
TEdgeSegment* Line1;
|
|
|
|
int Wall1PointFirst;
|
|
|
|
int Wall2PointFirst;
|
|
|
|
float Wall1PointLast;
|
|
|
|
float Wall2PointLast;
|
2020-11-01 16:45:29 +01:00
|
|
|
};
|