Wiki
Clone wikiALSN Provider / alsn_engine
ALSN_Engine
Содержит реализацию для работы дешифратора АЛСН. Выполняет поиск кода в рельсовой цепи и преобразует его в показание локомотивного светофора.
Этот класс не наследуется.
Подключение
include "alsn_provider.gs"
ALSN_Engine alsn = new ALSN_Engine();
alsn.Init(loco); //или alsn.Init(loco, startcode);
Интерфейс класса
final class ALSN_Engine isclass GameObject
{
public define int IND_NONE = 0;
public define int IND_GREEN = 1;
public define int IND_YELLOW = 2;
public define int IND_REDYELLOW = 4;
public define int IND_RED = 8;
public define int IND_WHITE = 16;
public define int IND_REDYELLOWWHITE = IND_REDYELLOW | IND_WHITE; УКБМ)
public define int FREQ_ALSN25 = 1;
public define int FREQ_ALSN50 = 2;
public define int FREQ_ALSN75 = 4;
public define int FREQ_ALSN2575 = FREQ_ALSN25 | FREQ_ALSN75;
public define int SD_TRAINDIRECTION = 0;
public define int SD_LOCOFORWARD = 1;
public define int SD_LOCOBACK = 2;
public final void Init(Locomotive sloco);
public final void Init(Locomotive sloco, int code);
public final Locomotive GetLocomotive(void);
public final int GetFrequency(void);
public final int GetSearchDirection(void);
public final int GetCurrentCode(void);
public final void SetFrequency(int freq);
public final void SetSearchDirection(int dir);
public final void ResetToWhite(void);
public final int SearchNextSignal(void);
public final void ResetRedYellow(void);
public final void ResetToNullState(void);
public final ALSN_Provider GetCurrentProvider(void);
public bool AllowRedYellowAndWhite = false;
public bool FrequencyDisabled = false;
};
final class ALSN_Engine isclass GameObject { public define int IND_NONE = 0; public define int IND_GREEN = 1; public define int IND_YELLOW = 2; public define int IND_REDYELLOW = 4; public define int IND_RED = 8; public define int IND_WHITE = 16; public define int IND_REDYELLOWWHITE = IND_REDYELLOW | IND_WHITE; УКБМ) public define int FREQ_ALSN25 = 1; public define int FREQ_ALSN50 = 2; public define int FREQ_ALSN75 = 4; public define int FREQ_ALSN2575 = FREQ_ALSN25 | FREQ_ALSN75; public define int SD_TRAINDIRECTION = 0; public define int SD_LOCOFORWARD = 1; public define int SD_LOCOBACK = 2; public final void Init(Locomotive sloco); public final void Init(Locomotive sloco, int code); public final Locomotive GetLocomotive(void); public final int GetFrequency(void); public final int GetSearchDirection(void); public final int GetCurrentCode(void); public final void SetFrequency(int freq); public final void SetSearchDirection(int dir); public final void ResetToWhite(void); public final int SearchNextSignal(void); public final void ResetRedYellow(void); public final void ResetToNullState(void); public final ALSN_Provider GetCurrentProvider(void); public bool AllowRedYellowAndWhite = false; public bool FrequencyDisabled = false; };
Константы
Показания
Эти значения определяют показания локомотивного светофора.
Наименование | Значение | Описание |
---|---|---|
IND_NONE | 0 | АЛСН отключён |
IND_GREEN | 1 | Зелёный индикатор АЛСН |
IND_YELLOW | 2 | Жёлтый индикатор АЛСН |
IND_REDYELLOW | 4 | Красный-жёлтый индикатор АЛСН |
IND_RED | 8 | Красный индикатор АЛСН |
IND_WHITE | 16 | Белый индикатор АЛСН |
IND_REDYELLOWWHITE | IND_REDYELLOW + IND_WHITE | Красный-жёлтый + белый индикатор АЛСН 1 |
Параметры фильтра
Эти константы определяют частоты фильтров для получения кодов из рельсовой цепи
Наименование | Значение | Описание |
---|---|---|
FREQ_ALSN25 | 1 | 25Гц (АЛСН25) |
FREQ_ALSN50 | 2 | 50Гц (АЛСН50) |
FREQ_ALSN75 | 4 | 75Гц (АЛСН75) |
FREQ_ALSN2575 | FREQ_ALSN25 + FREQ_ALSN75 | 25Гц + 75Гц (АЛСН25 + АЛСН75) |
Параметра поиска
Эти константы определяют направление поиска относительно локомотива
Наименование | Значение | Описание |
---|---|---|
SD_TRAINDIRECTION | 0 | Поиск выполняется по направлению поезда |
SD_LOCOFORWARD | 1 | Поиск выполняется по направлению локомотива |
SD_LOCOBACK | 2 | Поиск выполняется в противоположную, относительно направления локомотива сторону |
Описание интерфейса
Init
public final void Init(Locomotive sloco);
Init
public final void Init(Locomotive sloco, int code);
GetLocomotive
public final Locomotive GetLocomotive(void);
GetFrequency
public final int GetFrequency(void);
GetSearchDirection
public final int GetSearchDirection(void);
GetCurrentCode
public final int GetCurrentCode(void);
SetFrequency
public final void SetFrequency(int freq);
SetSearchDirection
public final void SetSearchDirection(int dir);
ResetToWhite
public final void ResetToWhite(void);
SearchNextSignal
public final int SearchNextSignal(void);
ResetRedYellow
public final void ResetRedYellow(void);
ResetToNullState
public final void ResetToNullState(void);
GetCurrentProvider
public final ALSN_Provider GetCurrentProvider(void);
AllowRedYellowAndWhite
public bool AllowRedYellowAndWhite = false;
FrequencyDisabled
public bool FrequencyDisabled = false;
-
Возможен только при значении свойства AllowRedYellowAndWhite = true; ↩
Updated