using System;
using System.Collections.Generic;
namespace ActiveProtect.Simulation
{
///
/// 仿真管理器接口,定义了仿真管理器的基本功能
///
public interface ISimulationManager
{
///
/// 当前仿真时间
///
double CurrentTime { get; }
///
/// 添加仿真元素
///
void AddElement(SimulationElement element);
///
/// 仿真元素列表
///
List GetElements();
///
/// 根据ID获取仿真实体
///
SimulationElement GetEntityById(string id);
///
/// 处理目标被击中事件
///
void HandleTargetHit();
///
/// 发布仿真事件
///
void PublishEvent(SimulationEvent evt);
///
/// 订阅仿真事件
///
void SubscribeToEvent(Action handler) where T : SimulationEvent;
///
/// 取消订阅仿真事件
///
void UnsubscribeFromEvent(Action handler) where T : SimulationEvent;
///
/// 取消所有事件订阅
///
void UnsubscribeAllEvents(SimulationElement element);
}
}