上传YomovSDK

This commit is contained in:
Sora丶kong
2026-03-03 03:15:46 +08:00
parent 9096da7e6c
commit eb97f31065
6477 changed files with 1932208 additions and 3 deletions

View File

@@ -0,0 +1,55 @@
#if HAVE_MODULE_AI || !UNITY_2019_1_OR_NEWER
using System;
using Newtonsoft.Json.UnityConverters.Helpers;
using UnityEngine;
using UnityEngine.AI;
namespace Newtonsoft.Json.UnityConverters.AI.NavMesh
{
public class NavMeshQueryFilterConverter : PartialConverter<NavMeshQueryFilter>
{
// Magic number taken from /Modules/AI/NavMesh/NavMesh.bindings.cs
// inside Unitys open source repo
// https://github.com/Unity-Technologies/UnityCsReference/blob/2019.2/Modules/AI/NavMesh/NavMesh.bindings.cs#L149
private const int AREA_COST_ELEMENT_COUNT = 32;
protected override void ReadValue(ref NavMeshQueryFilter value, string name, JsonReader reader, JsonSerializer serializer)
{
switch (name)
{
case "costs":
var costs = reader.ReadViaSerializer<float[]>(serializer);
if (costs != null)
{
for (int i = Mathf.Min(costs.Length, AREA_COST_ELEMENT_COUNT) - 1; i >= 0; i--)
{
value.SetAreaCost(i, costs[i]);
}
}
break;
case nameof(value.areaMask):
value.areaMask = reader.ReadAsInt32() ?? 0;
break;
case "agentTypeId": // camelCased the ID->Id
value.agentTypeID = reader.ReadAsInt32() ?? 0;
break;
}
}
protected override void WriteJsonProperties(JsonWriter writer, NavMeshQueryFilter value, JsonSerializer serializer)
{
writer.WritePropertyName("costs");
writer.WriteStartArray();
for (int i = 0; i < AREA_COST_ELEMENT_COUNT; i++)
{
writer.WriteValue(value.GetAreaCost(i));
}
writer.WriteEndArray();
writer.WritePropertyName(nameof(value.areaMask));
writer.WriteValue(value.areaMask);
writer.WritePropertyName("agentTypeId"); // camelCased the ID->id
writer.WriteValue(value.agentTypeID);
}
}
}
#endif

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9b3e95150c60e5646a91827a4ec40452
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,39 @@
#if HAVE_MODULE_AI || !UNITY_2019_1_OR_NEWER
using System;
using System.Diagnostics.CodeAnalysis;
using Newtonsoft.Json.UnityConverters.Helpers;
using UnityEngine;
using UnityEngine.AI;
namespace Newtonsoft.Json.UnityConverters.AI.NavMesh
{
public class NavMeshTriangulationConverter : PartialConverter<NavMeshTriangulation>
{
protected override void ReadValue(ref NavMeshTriangulation value, string name, JsonReader reader, JsonSerializer serializer)
{
switch (name)
{
case nameof(value.vertices):
value.vertices = reader.ReadViaSerializer<Vector3[]>(serializer);
break;
case nameof(value.indices):
value.indices = reader.ReadViaSerializer<int[]>(serializer);
break;
case nameof(value.areas):
value.areas = reader.ReadViaSerializer<int[]>(serializer);
break;
}
}
protected override void WriteJsonProperties(JsonWriter writer, NavMeshTriangulation value, JsonSerializer serializer)
{
writer.WritePropertyName(nameof(value.vertices));
serializer.Serialize(writer, value.vertices, typeof(Vector3[]));
writer.WritePropertyName(nameof(value.indices));
serializer.Serialize(writer, value.indices, typeof(int[]));
writer.WritePropertyName(nameof(value.areas));
serializer.Serialize(writer, value.areas, typeof(int[]));
}
}
}
#endif

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d84da7b6e96913a4588d123bcfd10833
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: