Unity 6 с параметром по умолчанию
Примеры использования в Unity с параметром по умолчанию(default parameters)
Примеры использования в Unity
1️⃣ Установка урона с параметром по умолчанию
В игре можно сделать метод, который наносит урон, но если урон не передан — использовать стандартное значение:
void TakeDamage(int damage = 10)
{
Debug.Log($"Игрок получил {damage} урона.");
}
Теперь можно вызывать метод так:
TakeDamage(); // Игрок получил 10 урона (по умолчанию)
TakeDamage(25); // Игрок получил 25 урона
Если урон не передан, игрок получает 10 урона по умолчанию.
2️⃣ Спавн объекта с дефолтной позицией
Допустим, у нас есть метод, который создает объект на сцене. Если позиция не указана, объект появляется в (0,0,0):
void SpawnObject(GameObject prefab, Vector3 position = default)
{
if (position == default)
position = new Vector3(0, 0, 0); // Если позиция не передана, ставим (0,0,0)
Instantiate(prefab, position, Quaternion.identity);
}
Теперь можно вызвать метод:
SpawnObject(enemyPrefab); // Враг появится в (0,0,0)
SpawnObject(enemyPrefab, new Vector3(5, 2, 0)); // Враг появится в (5,2,0)
3️⃣ Автоматическая задержка при воспроизведении звука
Можно сделать метод, который воспроизводит звук, а если задержка не указана — использовать 0 секунд:
void PlaySound(AudioClip clip, float delay = 0f)
{
AudioSource.PlayClipAtPoint(clip, Vector3.zero, 1f);
Debug.Log($"Звук воспроизведен с задержкой {delay} секунд.");
}
Теперь можно:
PlaySound(gunShot); // Звук сразу проиграется
PlaySound(gunShot, 1.5f); // Звук проиграется через 1.5 секунды
4️⃣ Управление скоростью движения персонажа
Допустим, у нас есть метод MovePlayer, который передвигает игрока. Если скорость не передана — используется 5:
void MovePlayer(Vector3 direction, float speed = 5f)
{
transform.position += direction * speed * Time.deltaTime;
}
Теперь:
MovePlayer(Vector3.forward); // Игрок идет вперед со скоростью 5
MovePlayer(Vector3.forward, 10f); // Игрок идет вперед со скоростью 10
Почему это полезно в Unity?
✅ Уменьшает дублирование кода → не надо создавать много похожих методов.
✅ Гибкость → можно вызывать метод с разным количеством параметров.
✅ Чистый код → удобно читать, особенно в скриптах Unity.
💡 Default parameters помогают делать код короче, понятнее и удобнее! 🚀