class Loco_840 isclass Locomotive
{
// valve rods
// left side
define string ValverodLeftFwdForward = "valverod-fwd-left-forward";
define string ValverodLeftFwdReverse = "valverod-fwd-left-reverse";
define string ValverodLeftFwdNeutral = "valverod-fwd-left-neutral";
...
// Global variables
Asset myAsset;
Train myTrain;
bool DeRailed = false;
Bogey myBogie;
....
void InitialiseDriverTasks()
{
myAsset = GetAsset();
if(me.GetMyTrain())
{
sniffMyTrain(); // also sets myTrain
Bogey[] bogies = GetBogeyList();
myBogie = bogies[0];
...
} // InitialiseDriverTasks()
...
void ChangeDirection(int newDirection, int oldDirection) {
if (newDirection == myTrain.TRACTION_NEUTRAL) {
// change to neutral
// hide previous meshes
// left side valve rods
if (oldDirection == myTrain.TRACTION_FORWARD) {
//MB.Alert("Change to neutral from forward");
// left and right valve rods
myBogie.SetMeshVisible(ValverodLeftFwdForward, false, 0.0);
myBogie.SetMeshVisible(ValverodLeftRearForward, false, 0.0);
myBogie.SetMeshVisible(ValverodRightFwdForward, false, 0.0);
myBogie.SetMeshVisible(ValverodRightRearForward, false, 0.0);
...
// valverods
myBogie.SetMeshVisible(ValverodLeftFwdNeutral, true, 0.0);
myBogie.SetMeshVisible(ValverodLeftRearNeutral, true, 0.0);
myBogie.SetMeshVisible(ValverodRightFwdNeutral, true, 0.0);
myBogie.SetMeshVisible(ValverodRightRearNeutral, true, 0.0);
...