Files
better-genshin-impact/BetterGenshinImpact/GameTask/AutoTrackPath/Model/GiPathPoint.cs
辉鸭蛋 1f0bf59ca7 opt track
2024-06-16 16:42:08 +08:00

56 lines
1.3 KiB
C#

using System;
using BetterGenshinImpact.Core.Recognition.OpenCv;
using BetterGenshinImpact.GameTask.Common.Map;
using OpenCvSharp;
namespace BetterGenshinImpact.GameTask.AutoTrackPath.Model;
/// <summary>
/// 路线点
/// 坐标必须游戏内坐标系
/// </summary>
[Serializable]
public class GiPathPoint
{
public Point Pt { get; set; }
public Rect MatchRect { get; set; }
public int Index { get; set; }
public DateTime Time { get; set; }
public string Type { get; set; } = GiPathPointType.Normal.ToString();
public static GiPathPoint BuildFrom(Rect matchRect, int index)
{
var pt = MapCoordinate.Main2048ToGame(matchRect.GetCenterPoint());
return new GiPathPoint
{
Pt = pt,
MatchRect = matchRect,
Index = index,
Time = DateTime.Now
};
}
public static bool IsKeyPoint(GiPathPoint giPathPoint)
{
if (giPathPoint.Type == GiPathPointType.KeyPoint.ToString()
|| giPathPoint.Type == GiPathPointType.Fighting.ToString()
|| giPathPoint.Type == GiPathPointType.Collection.ToString())
{
return true;
}
return false;
}
}
public enum GiPathPointType
{
Normal, // 普通点
KeyPoint, // 关键点
Fighting, // 战斗点
Collection, // 采集点
}