Danro/Assets/Scripts/Abstract/Interfaces.cs

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="optionaAttachPoint">Опциональная точка привязки. При передаче, объект будет привязан на нее</param>
/// <returns>bool - получилось ли поднять объект</returns>
public bool TryPickup(GameObject newOwner, Transform optionaAttachPoint = null);
}
public interface IDamageable
{
void TakeDamage(float amount);
void Heal(float amount);
void Die();
}
}
namespace RR.Game2D.Core.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);
}
}