include "DefaultLocomotiveCabin.gs" class MeineKabine isclass DefaultLocomotiveCabin { CabinControl m_pSchalter1; // In config.txt: /* schalter1 { mesh "schalter.im" => Mesh auto-create 1 => Standardmäßig sichtbar att-parent "default" => Wo befindet sich mein Attachment-Point kind "lever" => Ich bin ein einfacher Hebel att "a.schalter1" => Mein Attachment-Point limits 0,1 => Wert ist zwischen 0 und 1 (0 aus, 1 ein) notches 0,1 => Zwei einrastpunkte notchheight 0,0 => Keine "grünen Einrastpunkte" sichtbar (länge = 0) angles -0.3,0.3 => Drehwinkel -1 = 90°, 0 = 0°, 1 = 90° } */ public void Init(Asset pAsset) { inherited(pAsset); // Überschriebene Init-Methode von "DefaultLocomotiveCabin" aufrufen } public void Attach(GameObject pParentObject) { inherited(pParentObject); // Überschriebene Attach-Methode von "DefaultLocomotiveCabin" aufrufen m_pSchalter1 = GetNamedControl("schalter1"); // Steuerlement in m_pSchalter1 hineinladen (s.o. config.txt) } public void UserSetControl(CabinControl pControl, float fValue) // => Wird aufgerufen, wenn der Benutzer mit einem Steuerlement interagiert { if(pControl == m_pSchalter1) { PostMessage(loco, "Schalter1", fValue, 0.0f); // Schicke nachricht an die Lok mit "Schalter1", [WERT] } else inherited(pControl, fValue); // Alle anderen, nicht verwendeten Steuerlemente von Trainz verarbeiten lassen } };