56 lines
1.9 KiB
C#

using GeoJSON.Net.Geometry;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scenes.Ride.Scripts.Model.RiderModels
{
/// <summary>
/// 骑行伴侣
/// </summary>
public class ReviewRiderModel : BaseRider
{
public override RiderType riderType => RiderType.Review;
public GeographicPosition Point { get; set; }
/// <summary>
/// 骑行记录数据
/// </summary>
public string[] record { get; set; }
public OutUser GetOutUser(int ticks, TurfHelper turfHelper)
{
var reviewer = this;
TargetData revierData = null;
if (ticks >= reviewer.record.Length)
{
revierData = TargetData.Read(reviewer.record[reviewer.record.Length - 1]);
}
else if (ticks > 0)
{
revierData = TargetData.Read(reviewer.record[ticks - 1]);
}
//(Ticks >= reviewer.record.Length ? TargetData.Read(reviewer.record[reviewer.record.Length - 1]) :
//TargetData.Read(reviewer.record[Ticks]));
var reivewPreDistance = ticks == 1 || ticks == 0 ? 0 :
(ticks >= reviewer.record.Length ? TargetData.Read(reviewer.record[reviewer.record.Length - 1])._Distance :
TargetData.Read(reviewer.record[ticks - 2])._Distance);
var result = new OutUser()
{
UserId = this.UserId,
//targetData = revierData,
InMapId = this.InMapId,
PreDistance = reivewPreDistance,
NextDistance = ticks == 0 ? 0 : revierData._Distance,
NickName = this.NickName,
WxHeadImg = this.WxHeadImg
};
result.Point = turfHelper.Along(result.NextDistance);
return result;
}
}
}