56 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|