LSF CabinUtilityBase

Библиотека Locomotive Script Framework
Имя класса LSF_CabinUtilityBase
Файл скрипта lsf_cabinutility.gs
Тип Базовый класс кабины
Класс данных кабины -- --
Базовые классы -- --

LSF_CabinUtilityBase - базовый класс для кабины предоставляющий дополнительные функции для работы с ней. Входит в состав Locomotive Script Framework

Подключение и инициализация

Для подключения необходимо добавить ссылку на Locomotive Script Framework в контейнер script-include-table конфигурационного файла актива со скриптом кабины (кабина или библиотека скриптов)

Пример

script-include-table{
  locomotivescriptframework   <kuid:151055:60067>   
}

Должен быть указан актуальный kuid номер

К скрипту кабины необходимо подключить файл базового скрипта "lsf_cabinutility.gs", а так же унаследовать класс кабины от класса LSF_CabinUtilityBase множественным наследованием. Класс кабины должен обязательно наследоваться от класса Cabin игры или его потомков.

Пример типового скрипта

include "cabin.gs"
include "lsf_cabinutility.gs"

class mycabin isclass Cabin, LSF_CabinUtilityBase
{
  LSF_CabinNeedleInfo myneedle;

  public void Init(Asset myasset){
    me.initCabinUtility();
    myneedle = new LSF_CabinNeedleInfo().init(me.GetNamedControl("controlneedle"), 150);
  }

  void Update(void){
    me.setAnimationNeedleValue(me, "animationneedle", 150, 1.5); //Стрелка с анимацией

    me.setNeedleValue(myneedle, 4000); //Стандартная стрелка  
  }

};

Интерфейс

initCabinUtility

Выполняет инициализацию скрипта

final void initCabinUtility(void)
Примечание: Эта функция обязательно должна быть вызвана 1 раз в Init скрипта кабины.

setAnimationNeedleValue

Плавно перемещает стрелку с анимацией в указанное значение

public final void setAnimationNeedleValue(string name, float value, float chtime)
Аргументы:
  • name - имя меши стрелки с анимацией в mesh-table кабины заданной в параметра cabin
  • value - положение стрелки, в которое она должна перейти
  • chtime - время в секундах, за которое стрелка должна перейти из 0 положения в максимально для неё возможное (от 0 до последнего кадра анимации)
Примечание: стрелка выполняется в виде сетки с анимацией kin, а не контрола кабины

setAnimationNeedleValue

Плавно перемещает стрелку с анимацией в указанное значение

public final void setAnimationNeedleValue(string name, float value, float chtime, float maxvalue)
Аргументы:
  • name - имя меши стрелки с анимацией в mesh-table кабины заданной в параметра cabin
  • value - положение стрелки, в которое она должна перейти
  • chtime - время в секундах, за которое стрелка должна перейти из 0 положения в максимально для неё возможное (от 0 до последнего кадра анимации)
  • maxvalue - Максимальное значение стрелки при максимальном кадре анимации
Примечание: стрелка выполняется в виде сетки с анимацией kin, а не контрола кабины

setNeedleValue

Плавно перемещает стрелку-контрол в указанное значение

public final void setNeedleValue(LSF_CabinNeedleInfo needleInfo, float value, float changeSpeed)
Аргументы:
  • needleInfo - объект LSF_CabinNeedleInfo, который описывает стрелку с которой необходимо выполнить действие
  • value - положение стрелки, в которое она должна перейти
  • changeSpeed - скорость изменения показания стрелки. Задаётся в делениях стрелки за секунду. Переопределяет скорость заданную в информации о стрелке

setNeedleValue

Плавно перемещает стрелку-контрол в указанное значение

public final void setNeedleValue(LSF_CabinNeedleInfo needleInfo, float value)
Аргументы:
  • needleInfo - объект LSF_CabinNeedleInfo, который описывает стрелку с которой необходимо выполнить действие
  • value - положение стрелки, в которое она должна перейти

информации о стрелке

selectInitControlValue

Выставляет значение контрола с двумя положениями в зависимости от состояния

public final float selectInitControlValue(bool state, float trueValue, float falseValue)
Аргументы:
  • state - состояние контрола
  • trueValue - значение контрола при state == true
  • falseValue - значение контрола при state == false
Возвращает: значение заданное в trueValue или falseValue в зависимости от значения state