Wiki
Clone wikiALSN Provider / alsn_circuitrepeater
ALSN_CircuitRepeater
Базовый класс для реализации специального типа сигнальной точки "Рельсовая цепь повторителя" типа: ALSN_Provider.TYPE_CIRCUITREPEATER (смотри ALSN_Provider). Является наследником класса ALSN_Provider
Подключение
include "alsn_circuitrepeater.gs"
Интерфейс класса
class ALSN_CircuitRepeater isclass Trackside, ALSN_Provider
{
public bool Enabled(void);
public Signal ControlSignal(void);
public ALSN_Provider ControlProvider(void);
};
class ALSN_CircuitRepeater isclass Trackside, ALSN_Provider { public bool Enabled(void); public Signal ControlSignal(void); public ALSN_Provider ControlProvider(void); };
Описание интерфейса
Enabled
public bool Enabled(void);
должна пропускать
повторитель, который возвращает false.
ControlSignal
public Signal ControlSignal(void);
ControlProvider
public ALSN_Provider ControlProvider(void);
Реализация
Для реализации повторителя необходимо унаследовать от него свой класс. Например:
class MyRepeater isclass ALSN_CircuitRepeater { //Здесь реализация функционала };
- public int GetALSNTypeSignal(void);
Так как они реализованы в базовом классе повторителе
Получение провайдера в дешифраторе
Для получение данных с провайдера в реализации АЛСН или КЛУБ необходимо приводить MapObject объекты получаемые из GSTrackSearch к классу повторителя. Так как класс повторителя не является наследником MapObject, необходимо выполнять преобразование через object.
ALSN_CircuitRepeater repeater = cast<ALSN_CircuitRepeater>((object)mapobject);
Updated