using System.Collections.Generic;
using System.Threading.Tasks;

namespace Plane.Copters
{
    public partial class EmptyCopter : CopterImplSharedPart, ICopter
    {
        /// <summary>
        /// 查询任务序列。若上一个操作未完成，本次结果为 null。
        /// </summary>
        /// <param name="millisecondsTimeout">超时时间。</param>
        /// <returns>飞行器返回的任务序列。若上一个操作未完成，本次结果为 null；若超时，结果为不完整的序列（_mission.Count 小于 MissionCount）；若顺利完成，结果为完整的任务序列。</returns>
        public Task<IEnumerable<IMission>> RequestMissionListAsync(int millisecondsTimeout = 10000)
        {
            return Task.FromResult(new Mission[0] as IEnumerable<IMission>);
        }

        /// <summary>
        /// 写入任务序列。
        /// </summary>
        /// <param name="missions">任务序列。</param>
        /// <returns>若写入成功，返回 true；否则返回 false。</returns>
        public Task<bool> WriteMissionListAsync(IEnumerable<IMission> missions, int millisecondsTimeout = 10000)
        {
            return Task.FromResult(true);
        }
    }
}
