Danro/Assets/Scripts/Abstract/Interfaces.cs
Danil Iarosh 5bafc385da feat(audio): increase SFX pool size and preload audio data
- Increased SFX pool size from 8 to 16 in AudioManager
- Enabled preloadAudioData for multiple SFX files
- Removed unused VisualScripting import from Checkpoint script
- Reordered using statements in several scripts for consistency
- Added CoinCollectible component to Coin prefab with pickup effects
- Updated sorting layers and mesh LOD settings in Coin prefabs
- Fixed typo in Interfaces.cs: optionaAttachPoint to optionalAttachPoint
- Modified AddCoin method to accept count parameter and handle coin overflow
- Moved projectile scripts (BasicProjectile, EnemyBasicProjectile, PhysicsProjectile, PickableProjectile)
- Cleaned up unused namespaces and imports across various scripts
2025-10-30 16:39:15 +03:00

60 lines
2.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using UnityEngine;
namespace RR.Common.Interfaces
{
public interface IRecallable
{
/// <summary>
/// Метод для возвращения объекта к владельцу.
/// Для возвращения желательно иметь на объекте
/// <see cref="GameObject"/> owner или аналогичный атрибут
/// </summary>
public void Recall();
}
public interface IPickable
{
/// <summary>
/// Метод для подбора объекта игроком.
/// Привязывает снаряд к точке привязки на игроке.
/// </summary>
/// <param name="newOwner">Новый владелец объекта</param>
/// <param name="optionalAttachPoint">Опциональная точка привязки. При передаче, объект будет привязан на нее</param>
/// <returns>bool - получилось ли поднять объект</returns>
public bool TryPickup(GameObject newOwner, Transform optionalAttachPoint = null);
}
public interface IDamageable
{
void TakeDamage(float amount);
void Heal(float amount);
void Die();
}
}
namespace RR.Game2D.Core.Managers.Interfaces
{
public interface ILauchable
{
/// <summary>
/// Метод для запуска объекта как снаряд
/// </summary>
/// <param name="direction">Направление запуска</param>
/// <param name="speed">Скорость запуска</param>
/// <param name="thrower">Владелец</param>
public void Launch(Vector2 direction, float speed, GameObject thrower);
}
public interface IBouncy
{
/// <summary>
/// Метод для просчета отскоков.
/// </summary>
/// <param name="collision">Коллизия, с которой столкнулся объект</param>
/// <returns>bool - произошел ли отскок</returns>
public bool TryBounce(Collision2D collision);
}
}