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 { /// /// 骑行伴侣 /// public class ReviewRiderModel : BaseRider { public override RiderType riderType => RiderType.Review; public GeographicPosition Point { get; set; } /// /// 骑行记录数据 /// 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; } } }