using System;
using UnityEngine;
namespace ActionGameFramework.Projectiles
{
///
/// Interface allowing specification of generic projectiles.
///
public interface IProjectile
{
///
/// Event fired when this projectile is launched
/// 炮弹发射时触发的事件
///
event Action fired;
///
/// Fires this projectile from a designated start point to a designated world coordinate.
/// 从指定起点向指定世界坐标发射该炮弹
///
/// Start point of the flight.
/// Target point to fly to.
void FireAtPoint(Vector3 startPoint, Vector3 targetPoint);
///
/// Fires this projectile in a designated direction.
/// 向指定方向发射该炮弹
///
/// Start point of the flight.
/// Vector representing direction of flight.
void FireInDirection(Vector3 startPoint, Vector3 fireVector);
///
/// Fires this projectile at a designated starting velocity, overriding any starting speeds.
/// 以指定的起始速度发射该炮弹,覆盖任何起始速度
///
/// Start point of the flight.
/// Vector3 representing launch velocity.
void FireAtVelocity(Vector3 startPoint, Vector3 fireVelocity);
}
}