Skyscraper 2.0
SBS::Action Class Reference

#include <action.h>

Inheritance diagram for SBS::Action:
Collaboration diagram for SBS::Action:

Public Member Functions

 Action (Object *parent, const std::string &name, std::vector< Object * > &action_parents, const std::string &command, const std::vector< std::string > &parameters)
 
 Action (Object *parent, const std::string &name, std::vector< Object * > &action_parents, const std::string &command)
 
 ~Action ()
 
bool DoAction (Object *caller, bool &hold)
 
std::string GetCommandName ()
 
const ObjectGetParent (int number)
 
std::string GetParentName (int number)
 
std::string GetParentType (int number)
 
int GetParentCount ()
 
int GetParameterCount ()
 
std::string GetParameter (int index)
 
bool AddParent (Object *parent)
 
bool RemoveParent (Object *parent)
 
- Public Member Functions inherited from SBS::ObjectBase
 ObjectBase (Object *parent)
 
virtual ~ObjectBase ()
 
ObjectGetParent ()
 
SBSGetRoot ()
 
void SetName (const std::string &name)
 
const std::string & GetName ()
 
std::string GetNameBase ()
 
virtual void Report (const std::string &message)
 
virtual bool ReportError (const std::string &message)
 

Private Member Functions

bool Run (Object *caller, Object *parent, bool &hold)
 

Private Attributes

std::string command_name
 
std::vector< std::string > command_parameters
 
std::vector< Object * > parent_objects
 

Additional Inherited Members

- Protected Attributes inherited from SBS::ObjectBase
SBSsbs
 

Detailed Description

Definition at line 29 of file action.h.

Constructor & Destructor Documentation

◆ Action() [1/2]

SBS::Action::Action ( Object * parent,
const std::string & name,
std::vector< Object * > & action_parents,
const std::string & command,
const std::vector< std::string > & parameters )

Definition at line 46 of file action.cpp.

References command_name, command_parameters, parent_objects, SBS::SetCase(), SBS::ObjectBase::SetName(), and SBS::TrimString().

Here is the call graph for this function:

◆ Action() [2/2]

SBS::Action::Action ( Object * parent,
const std::string & name,
std::vector< Object * > & action_parents,
const std::string & command )

Definition at line 64 of file action.cpp.

References command_name, parent_objects, SBS::SetCase(), SBS::ObjectBase::SetName(), and SBS::TrimString().

Here is the call graph for this function:

◆ ~Action()

SBS::Action::~Action ( )

Definition at line 76 of file action.cpp.

References SBS::SBS::FastDelete, SBS::ObjectBase::GetName(), SBS::ObjectBase::Report(), and SBS::ObjectBase::sbs.

Here is the call graph for this function:

Member Function Documentation

◆ AddParent()

bool SBS::Action::AddParent ( Object * parent)

Definition at line 1069 of file action.cpp.

References parent_objects.

Referenced by SBS::SBS::AddActionParent().

◆ DoAction()

bool SBS::Action::DoAction ( Object * caller,
bool & hold )

Definition at line 87 of file action.cpp.

References parent_objects, and Run().

Referenced by SBS::SBS::RunAction().

Here is the call graph for this function:

◆ GetCommandName()

std::string SBS::Action::GetCommandName ( )

Definition at line 82 of file action.cpp.

References command_name.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

◆ GetParameter()

std::string SBS::Action::GetParameter ( int index)

Definition at line 1062 of file action.cpp.

References command_parameters.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

◆ GetParameterCount()

int SBS::Action::GetParameterCount ( )

Definition at line 1057 of file action.cpp.

References command_parameters.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

◆ GetParent()

const Object * SBS::Action::GetParent ( int number)

Definition at line 1029 of file action.cpp.

References parent_objects.

◆ GetParentCount()

int SBS::Action::GetParentCount ( )

Definition at line 1024 of file action.cpp.

References parent_objects.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

◆ GetParentName()

std::string SBS::Action::GetParentName ( int number)

Definition at line 1037 of file action.cpp.

References SBS::ObjectBase::GetName(), and parent_objects.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

Here is the call graph for this function:

◆ GetParentType()

std::string SBS::Action::GetParentType ( int number)

Definition at line 1047 of file action.cpp.

References parent_objects.

Referenced by Skyscraper::ActionViewer::On_ActionList_Select().

◆ RemoveParent()

bool SBS::Action::RemoveParent ( Object * parent)

Definition at line 1084 of file action.cpp.

References parent_objects.

Referenced by SBS::SBS::RemoveActionParent(), and SBS::SBS::RemoveActionParent().

◆ Run()

bool SBS::Action::Run ( Object * caller,
Object * parent,
bool & hold )
private

Definition at line 106 of file action.cpp.

References SBS::ElevatorCar::Alarm(), SBS::Door::AutoClose(), SBS::SBS::Buildings, SBS::CallStation::Call(), SBS::Elevator::CallCancel(), SBS::Elevator::CallCancelAll(), SBS::SBS::camera, SBS::Door::Close(), SBS::ElevatorCar::CloseDoors(), command_name, command_parameters, SBS::ElevatorCar::ControlPressActive, SBS::Elevator::Direction, SBS::Elevator::Down(), SBS::Elevator::EnableACP(), SBS::CameraTexture::Enabled(), SBS::Light::Enabled(), SBS::Elevator::EnableDownPeak(), SBS::Elevator::EnableFireService2(), SBS::Elevator::EnableIndependentService(), SBS::Elevator::EnableInspectionService(), SBS::ElevatorCar::EnableSensor(), SBS::Elevator::EnableUpPeak(), SBS::SBS::External, SBS::ElevatorCar::Fan, SBS::CallStation::FireService(), SBS::Elevator::FireServicePhase2, SBS::Elevator::GetCar(), SBS::ElevatorCar::GetElevator(), SBS::CallStation::GetFloor(), SBS::ElevatorCar::GetFloor(), SBS::SBS::GetFloor(), SBS::ObjectBase::GetName(), SBS::Object::GetPosition(), SBS::Elevator::GetPrimaryCallStation(), SBS::ElevatorCar::GetSound(), SBS::Floor::GetSound(), SBS::SBS::GetSound(), SBS::Object::GetType(), SBS::Camera::GotoFloor(), SBS::Elevator::HoistwayAccessHold, SBS::ElevatorCar::HoldDoors(), SBS::Elevator::IndependentService, SBS::CallStation::Input(), SBS::ElevatorCar::Input(), SBS::Elevator::InspectionService, SBS::Elevator::Interlocks, SBS::IsNumeric(), SBS::SBS::Landscape, SBS::Camera::MouseDown(), SBS::ElevatorCar::MusicOn, SBS::ElevatorCar::Number, SBS::Door::Open(), SBS::ElevatorCar::OpenDoors(), SBS::CallStation::Press(), SBS::ElevatorCar::ReplaceTexture(), SBS::Floor::ReplaceTexture(), SBS::MeshObject::ReplaceTexture(), SBS::Shaft::ReplaceTexture(), SBS::Stairwell::ReplaceTexture(), SBS::ObjectBase::Report(), SBS::ElevatorCar::ResetDoors(), SBS::Elevator::ReturnToNearestFloor(), SBS::RevolvingDoor::Run(), SBS::ObjectBase::sbs, SBS_PROFILE, SBS::CallStation::SelectFloor(), SBS::Elevator::SelectFloor(), SBS::Elevator::SetDownButton(), SBS::Elevator::SetGoButton(), SBS::Elevator::SetHoistwayAccess(), SBS::Escalator::SetRun(), SBS::MovingWalkway::SetRun(), SBS::Elevator::SetRunState(), SBS::Elevator::SetUpButton(), SBS::StartsWith(), SBS::Elevator::Stop(), SBS::ElevatorCar::StopDoors(), SBS::Camera::Teleport(), SBS::ToBool(), SBS::ToFloat(), SBS::ToInt(), and SBS::Elevator::Up().

Referenced by DoAction().

Member Data Documentation

◆ command_name

std::string SBS::Action::command_name
private

Definition at line 51 of file action.h.

Referenced by Action(), Action(), GetCommandName(), and Run().

◆ command_parameters

std::vector<std::string> SBS::Action::command_parameters
private

Definition at line 52 of file action.h.

Referenced by Action(), GetParameter(), GetParameterCount(), and Run().

◆ parent_objects

std::vector<Object*> SBS::Action::parent_objects
private

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