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;
|
2022-05-11 15:47:13 +02:00
|
|
|
void Collision(TBall* ball, vector2* nextPosition, vector2* direction, float coef,
|
2021-01-19 16:28:48 +01:00
|
|
|
TEdgeSegment* edge) override;
|
2022-05-11 15:47:13 +02:00
|
|
|
int FieldEffect(TBall* ball, vector2* 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;
|
2022-05-16 08:28:35 +02:00
|
|
|
bool BallZOffsetFlag;
|
2021-01-19 16:28:48 +01:00
|
|
|
int RampPlaneCount;
|
|
|
|
float BallFieldMult;
|
|
|
|
ramp_plane_type* RampPlane;
|
|
|
|
TEdgeSegment* Line2;
|
|
|
|
TEdgeSegment* Line3;
|
|
|
|
TEdgeSegment* Line1;
|
2022-05-16 08:28:35 +02:00
|
|
|
int Wall1CollisionGroup;
|
|
|
|
int Wall2CollisionGroup;
|
|
|
|
float Wall1BallOffset;
|
|
|
|
float Wall2BallOffset;
|
2020-11-01 16:45:29 +01:00
|
|
|
};
|