SuperTuxKart
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
CheckGoal Class Reference

Implements a simple checkline that will score a point when the soccer ball crosses it. More...

#include <check_goal.hpp>

Inheritance diagram for CheckGoal:
Inheritance graph
[legend]

Public Types

enum  PointLocation { POINT_FIRST , POINT_CENTER , POINT_LAST }
 Used by AIs to test whether the ball is likely to goal.
 
- Public Types inherited from CheckStructure
enum  CheckType {
  CT_NEW_LAP , CT_ACTIVATE , CT_TOGGLE , CT_CANNON ,
  CT_GOAL , CT_AMBIENT_SPHERE , CT_TRIGGER
}
 Different types of check structures: ACTIVATE: Activates another check structure (independent of the state that check structure is in) TOGGLE: Switches (inverts) the state of another check structure. More...
 

Public Member Functions

 CheckGoal (const XMLNode &node, unsigned int index)
 Constructor for a check goal line.
 
virtual void update (float dt) OVERRIDE
 Checks the soccer balls to see if they crossed the line and trigger the goal accordingly.
 
virtual void trigger (unsigned int kart_index) OVERRIDE
 Called when the goal line is triggered.
 
virtual bool isTriggered (const Vec3 &old_pos, const Vec3 &new_pos, int indx) OVERRIDE
 True if going from old_pos to new_pos crosses this checkline.
 
virtual void reset (const Track &track) OVERRIDE
 Initialises the 'previous positions' of all karts with the start position defined for this track.
 
bool getTeam () const
 
const Vec3getPoint (PointLocation point) const
 
virtual CheckStructureclone () OVERRIDE
 Clone to child process for server usage (atm no sound or scripting).
 
- Public Member Functions inherited from CheckStructure
 CheckStructure (const XMLNode &node, unsigned int index)
 
virtual void update (float dt)
 Updates all check structures.
 
virtual void resetAfterKartMove (unsigned int kart_index)
 
virtual void resetAfterRewind (unsigned int kart_index)
 
virtual void changeDebugColor (bool is_active)
 
virtual bool isTriggered (const Vec3 &old_pos, const Vec3 &new_pos, int indx)=0
 True if going from old_pos to new_pos crosses this checkline.
 
virtual void trigger (unsigned int kart_index)
 Is called when this check structure is triggered.
 
virtual void reset (const Track &track)
 Initialises the 'previous positions' of all karts with the start position defined for this track.
 
CheckType getType () const
 Returns the type of this check structure.
 
void addSuccessor (unsigned int i)
 Adds the index of a successor check structure which will get triggered by this check structure.
 
virtual bool triggeringCheckline () const
 
virtual void saveCompleteState (BareNetworkString *bns)
 
virtual void restoreCompleteState (const BareNetworkString &b)
 
void saveIsActive (int kart_id, BareNetworkString *bns)
 
void restoreIsActive (int kart_id, const BareNetworkString &b)
 
int getIndex () const
 
virtual CheckStructureclone ()=0
 Clone to child process for server usage (atm no sound or scripting).
 

Private Attributes

Vec3 m_previous_ball_position
 Previois ball position.
 
bool m_first_goal
 Which team is this goal for?
 
core::line2df m_line
 The line that is tested for being crossed.
 
Vec3 m_p1
 Used by AIs to test whether the ball is likely to goal.
 
Vec3 m_p2
 
Vec3 m_p3
 

Additional Inherited Members

- Protected Member Functions inherited from CheckStructure
 CheckStructure ()
 For CheckTrigger or CheckCylinder.
 
- Protected Attributes inherited from CheckStructure
AlignedArray< Vec3m_previous_position
 Stores the previous position of all karts.
 
std::vector< bool > m_is_active
 Stores if this check structure is active (for a given kart).
 
bool m_active_at_reset
 True if this check structure should be activated at a reset.
 
unsigned int m_index
 Stores the index of this check structure.
 

Detailed Description

Implements a simple checkline that will score a point when the soccer ball crosses it.

Constructor & Destructor Documentation

◆ CheckGoal()

CheckGoal::CheckGoal ( const XMLNode node,
unsigned int  index 
)

Constructor for a check goal line.

Parameters
nodeXML node containing the parameters for this goal line.
indexIndex of this check structure in the check manager.

Member Function Documentation

◆ clone()

virtual CheckStructure * CheckGoal::clone ( )
inlinevirtual

Clone to child process for server usage (atm no sound or scripting).

Implements CheckStructure.

◆ isTriggered()

bool CheckGoal::isTriggered ( const Vec3 old_pos,
const Vec3 new_pos,
int  indx 
)
virtual

True if going from old_pos to new_pos crosses this checkline.

This function is called from update (of the checkline structure).

Parameters
old_posPosition in previous frame.
new_posPosition in current frame.
indxIndex of the kart, can be used to store kart specific additional data.

Implements CheckStructure.

◆ reset()

void CheckGoal::reset ( const Track track)
virtual

Initialises the 'previous positions' of all karts with the start position defined for this track.

Parameters
trackThe track object defining the start positions.

Reimplemented from CheckStructure.

◆ trigger()

void CheckGoal::trigger ( unsigned int  i)
virtual

Called when the goal line is triggered.

Input any integer for i to use

Reimplemented from CheckStructure.

◆ update()

void CheckGoal::update ( float  dt)
virtual

Checks the soccer balls to see if they crossed the line and trigger the goal accordingly.

Reimplemented from CheckStructure.


The documentation for this class was generated from the following files: