LSF CabinUtility

Библиотека Locomotive Script Framework
Имя класса LSF_CabinUtility
Файл скрипта lsf_cabinutility.gs
Тип Статический класс
Базовые классы -- --

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

Не требует инициализации и создание экземпляров.

Интерфейс

setAnimationNeedleValue

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

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

setAnimationNeedleValue

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

public final void setAnimationNeedleValue(Cabin cabin, string name, float value, float chtime, float maxvalue)
Аргументы:
  • cabin - объект Cabin, для которой выполняется действие
  • 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

Пример использования

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

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

class mycabin isclass Cabin
{
  LSF_CabinNeedleInfo myneedle;

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

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

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

};