293 lines
15 KiB
C#
293 lines
15 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace FLGenerateLibrary
|
|||
|
{
|
|||
|
public class EngineStats : Equipment
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Иконка в магазине
|
|||
|
/// </summary>
|
|||
|
[Header("Иконка в магазине")]
|
|||
|
public GameObject ItemIcon;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Скорость поворота
|
|||
|
/// </summary>
|
|||
|
[Header("Скорость поворота")]
|
|||
|
public float TurnMove = 20f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Скорость возврата в нормальное состояние
|
|||
|
/// </summary>
|
|||
|
[Header("Скорость возврата в нормальное состояние")]
|
|||
|
public float TurnNormalMove = 40f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Максимальная скорость корабля
|
|||
|
/// </summary>
|
|||
|
[Header("Максимальная скорость корабля")]
|
|||
|
public float SpeedMax = 75f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Актуальная сокрость
|
|||
|
/// </summary>
|
|||
|
[Header("Актуальная сокрость")]
|
|||
|
public float SpeedNow = .0f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Регулятор чувствительности отклонения мыши
|
|||
|
/// </summary>
|
|||
|
[Header("Регулятор чувствительности отклонения мыши")]
|
|||
|
[Range(0, 100f)]
|
|||
|
public float MouseSensitivityKef = 20.0f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Угол крена судна
|
|||
|
/// </summary>
|
|||
|
[Header("Угол крена судна")]
|
|||
|
[Range(0, 360)]
|
|||
|
public int AngleRoll = 15;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Коэфициент набора скорости обычного двигателя
|
|||
|
/// </summary>
|
|||
|
[Header("Коэфициент набора скорости обычного двигателя")]
|
|||
|
public float SpeedKefNow = 2f;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Уникальный идентификатор
|
|||
|
/// </summary>
|
|||
|
[Header("Уникальный идентификатор")]
|
|||
|
public string Nickname;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Громкость звука
|
|||
|
/// </summary>
|
|||
|
[Header("Громкость звука")]
|
|||
|
public float Volume;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Масса двигателя
|
|||
|
/// </summary>
|
|||
|
[Header("Масса двигателя")]
|
|||
|
public float Mass;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Тяга двигателя (делим на 600 aи получаем скорость в м/с: 48000/600 = 80 м/с)
|
|||
|
/// </summary>
|
|||
|
[Header("Тяга двигателя")]
|
|||
|
public int MaxForce;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Сила замедления
|
|||
|
/// </summary>
|
|||
|
[Header("Сила замедления")]
|
|||
|
public float LinearDrag;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Количество мощности, которую двигатель использует от силовой установки
|
|||
|
/// </summary>
|
|||
|
[Header("Количество мощности, которую двигатель использует от силовой установки")]
|
|||
|
public float PowerUsage;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Определяет, насколько быстро вы можете двигаться назад (0-1)
|
|||
|
/// </summary>
|
|||
|
[Header("Определяет, насколько быстро вы можете двигаться назад")]
|
|||
|
public float ReverseFraction;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Устанавливает, сколько секунд потребуется для зарядки в режиме круиза.
|
|||
|
/// </summary>
|
|||
|
[Header("Устанавливает, сколько секунд потребуется для зарядки в режиме круиза")]
|
|||
|
public float CruiseChargeTime;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Когда вы находитесь в круизном режиме, это количество энергии, которое будет расходоваться в секунду.
|
|||
|
/// Если ваша электростанция не может обеспечить такое количество энергии,
|
|||
|
/// вы соответствующим образом замедлитесь, как только буфер опустеет.
|
|||
|
/// </summary>
|
|||
|
[Header("Когда вы находитесь в круизном режиме, это количество энергии, которое будет расходоваться в секунду.")]
|
|||
|
public float CruisePowerUsage;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который издает ваш двигатель во время обычного полета.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который издает ваш двигатель во время обычного полета.")]
|
|||
|
public SoundBase CharacterLoopSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки повышаются/понижаются, поэтому они не всегда звучат одинаково. Эти два значения, вероятно, являются нижней и верхней границей этого искажения.
|
|||
|
/// </summary>
|
|||
|
[Header("Нижняя и верхняя граница искажения звука обычного двигателя")]
|
|||
|
public Vector2 CharacterPitchRange;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Ссылается на звуковой эффект. Устанавливает звук, который постоянно издает двигатель.
|
|||
|
/// </summary>
|
|||
|
[Header("Устанавливает звук, который постоянно издает двигатель.")]
|
|||
|
public SoundBase RumbleSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки усиливаются/приглушаются, поэтому их громкость не всегда одинакова. Эти два значения, вероятно, являются нижней и верхней границей этого показателя.
|
|||
|
/// </summary>
|
|||
|
[Header("Нижняя и верхняя граница усиливания/приглушения звука двигателя")]
|
|||
|
public Vector2 RumbleAttenRange;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки повышаются/понижаются, поэтому они не всегда звучат одинаково. Эти два значения, вероятно, являются нижней и верхней границей этого искажения.
|
|||
|
/// </summary>
|
|||
|
[Header("Нижняя и верхняя граница искажения звука обычного двигателя")]
|
|||
|
public Vector2 RumblePitchRange;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Можно ли уничтожить (false - да, true - нет)
|
|||
|
/// </summary>
|
|||
|
[Header("Можно ли уничтожить")]
|
|||
|
public bool Indestructible;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки усиливаются/приглушаются, поэтому они не всегда имеют одинаковую громкость. Внутри external_sound_cone звук имеет другую громкость, чем в Inside_sound_cone. Если вы не находитесь ни в одном из них, вы ничего не услышите.
|
|||
|
/// </summary>
|
|||
|
[Header("Внешнее конусное затухание")]
|
|||
|
public int OutsideСoneAttenuation;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки усиливаются/приглушаются, поэтому они не всегда имеют одинаковую громкость. Внутри external_sound_cone звук имеет другую громкость, чем в Inside_sound_cone. Если вы не находитесь ни в одном из них, вы ничего не услышите.
|
|||
|
/// </summary>
|
|||
|
[Header("Внутреннее конусное затухание")]
|
|||
|
public int InsideSoundCone;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// В Freelancer звуки усиливаются/приглушаются, поэтому они не всегда имеют одинаковую громкость. Внутри external_sound_cone звук имеет другую громкость, чем в Inside_sound_cone. Если вы не находитесь ни в одном из них, вы ничего не услышите.
|
|||
|
/// </summary>
|
|||
|
[Header("Внешний звуковой конус")]
|
|||
|
public int OutsideSoundCone;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Максимальная мощность двигателя
|
|||
|
/// </summary>
|
|||
|
[Header("Максимальная мощность двигателя")]
|
|||
|
public float СruiseSpeed = 500.0f;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Эффект двигателя (это модифицированные эффекты пламени)
|
|||
|
/// </summary>
|
|||
|
[Header("Эффект двигателя (модифицированные эффекты пламени)")]
|
|||
|
public EffectMain FlameEffect;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Модифицированный круизный эффект
|
|||
|
/// </summary>
|
|||
|
[Header("Модифицированный круизный эффект")]
|
|||
|
public EffectMain TrailEffect;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Круизный эффект и эффект тропы двигателя
|
|||
|
/// </summary>
|
|||
|
[Header("Круизный эффект и эффект тропы двигателя")]
|
|||
|
public EffectMain TrailEffectPlayer;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Вы слышите этот звук, когда возобновляете работу после остановки двигателя.
|
|||
|
/// </summary>
|
|||
|
[Header("Вы слышите этот звук, когда возобновляете работу после остановки двигателя")]
|
|||
|
public SoundBase CharacterStartSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится при нажатии кнопки выключения двигателя.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится при нажатии кнопки выключения двигателя.")]
|
|||
|
public SoundBase EngineKillSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится при переходе в круизный режим.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится при переходе в круизный режим.")]
|
|||
|
public SoundBase CruiseStartSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится, когда вы находитесь в круизном режиме.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится, когда вы находитесь в круизном режиме.")]
|
|||
|
public SoundBase CruiseLoopSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится при выходе из круизного режима.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится при выходе из круизного режима.")]
|
|||
|
public SoundBase CruiseStopSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится при нарушении режима круиза.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится при нарушении режима круиза.")]
|
|||
|
public SoundBase CruiseDisruptSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Отсылает к звуковому эффекту, который воспроизводится при нарушении режима круиза боем.
|
|||
|
/// </summary>
|
|||
|
[Header("Отсылает к звуковому эффекту, который воспроизводится при нарушении режима круиза боем.")]
|
|||
|
public SoundBase CruiseBackfireSound;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Эффект срыва круиза
|
|||
|
/// </summary>
|
|||
|
[Header("Эффект срыва круиза")]
|
|||
|
public EffectMain CruiseDisruptEffect;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Используемое здесь имя группы может быть свободно
|
|||
|
/// выбрано и должно совпадать с именем кораблей,
|
|||
|
/// на которых может быть установлена эта пушка
|
|||
|
/// Строка группы установок не является обязательной,
|
|||
|
/// все корабли и орудия, не указанные в группе,
|
|||
|
/// будут просто рассматриваться как одна большая группа,
|
|||
|
/// на которую нельзя устанавливать ничего из других групп,
|
|||
|
/// и наоборот.
|
|||
|
/// </summary>
|
|||
|
[Header("Имя группы")]
|
|||
|
public HpMountGroup HpMountGroup = HpMountGroup.NONE;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Адрес до модельки 3db в оригинале
|
|||
|
/// </summary>
|
|||
|
[Header("Адрес до модельки 3db в оригинале")]
|
|||
|
public string DAArchetype;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Адрес до материала .mat в оригинале
|
|||
|
/// </summary>
|
|||
|
[Header("Адрес до материала .mat в оригинале")]
|
|||
|
public string MaterialLibrary;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Дистанции LOD
|
|||
|
/// </summary>
|
|||
|
[Header("Дистанции LOD")]
|
|||
|
public List<string> LODRanges;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Эффект взрыва - вспышка с осколками
|
|||
|
/// </summary>
|
|||
|
[Header("Эффект взрыва - вспышка с осколками")]
|
|||
|
public ExplosionStats ExplosionArch;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Можно ли притянуть захватом
|
|||
|
/// </summary>
|
|||
|
[Header("Можно ли притянуть захватом")]
|
|||
|
public bool Lootable = true;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Скорость для GUI в формате числа Int
|
|||
|
/// </summary>
|
|||
|
public string SpeedGUI => ((int)Math.Ceiling(Math.Round(SpeedNow, 1))).ToString();
|
|||
|
}
|
|||
|
}
|