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