添加了一些用于名称切换数据,可以满足随机名称的要求

This commit is contained in:
2023-11-24 19:54:59 +08:00
parent 1db23be3da
commit 7cbe59ca14
18 changed files with 250 additions and 44 deletions

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace XericLibrary.Runtime.MacroLibrary
{
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public static class MacroInching
{
/// <summary>
/// <20><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>
/// </summary>
/// <returns></returns>
public static double LinearTowards(double from, double to, double maxStepDelta)
{
return from + Math.Clamp(to - from, -maxStepDelta, maxStepDelta);
}
/// <summary>
/// <20><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>
/// </summary>
/// <returns></returns>
public static float LinearTowards(float from, float to, float maxStepDelta)
{
return (float)LinearTowards((double)from, (double)to, (double)maxStepDelta);
}
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 25b8c78062bd7454a944e8f73f7f17b5
guid: dde2a3b263805b34db3b546fd5922f43
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -1,3 +1,5 @@
using Codice.CM.Triggers;
using System;
using System.Collections;
using System.Collections.Concurrent;
@@ -129,7 +131,7 @@ namespace XericLibrary.Runtime.MacroLibrary
#endregion
#region Ӧ<EFBFBD><EFBFBD><EFBFBD>
/// <summary>
/// <20><>ȡ<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
/// </summary>
@@ -144,6 +146,24 @@ namespace XericLibrary.Runtime.MacroLibrary
yield return list[index[i]];
}
/// <summary>
/// <20><><EFBFBD>б<EFBFBD><D0B1>еij<D0B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µij<C2B5>Ա
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <param name="group"></param>
/// <param name="target"></param>
/// <returns></returns>
public static IEnumerable<T> GetListGroupMember<T>(this List<T> list, int group, int target)
{
if(list.Count % group != 0)
throw new Exception("<22>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ȡʱ<C8A1><CAB1><EFBFBD><EFBFBD>ܸպ<DCB8><D5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>");
for(int i = 0; i < list.Count; i++)
if((i % group) == target)
yield return list[i];
}
#endregion

View File

@@ -1,40 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace XericLibrary.Runtime.MacroLibrary
{
/// <summary>
/// ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
[Obsolete("<22><><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>𣬲<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
public static class MacroVector3
{
/// <summary>
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="vector"></param>
/// <returns></returns>
public static Vector3 GetWorldNormalAxis(Vector3 vector)
{
Vector3[] axes = { Vector3.right, Vector3.up, Vector3.forward };
float minAngle = float.MaxValue;
Vector3 minAngleAxis = Vector3.zero;
foreach(Vector3 axis in axes)
{
float dot = Vector3.Dot(vector, axis);
float angle = Mathf.Abs(dot);
if(angle < minAngle)
{
minAngle = angle;
minAngleAxis = axis * Mathf.Sign(dot);
}
}
return minAngleAxis;
}
}
}

View File

@@ -9,6 +9,10 @@ namespace XericLibrary.Runtime.MacroLibrary
{
public static class Vector2Extend
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector2 OneMinus(this Vector2 a)
=> new Vector2(1 - a.x, 1 - a.y);
[Obsolete("unfinished")]
public static Vector2 Projection(this Vector2 point, Vector3 start, Vector3 end)
{

View File

@@ -107,6 +107,10 @@ namespace XericLibrary.Runtime.MacroLibrary
a.z / b
);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector3 OneMinus(this Vector3 a)
=> new Vector3(1 - a.x, 1 - a.y, 1 - a.z);
#endregion
#region <EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>