54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
#if UNITY_EDITOR
|
|
using UnityEditor;
|
|
#endif
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using System;
|
|
using System.Reflection;
|
|
using System.Linq;
|
|
|
|
namespace MTAssets.EasyMeshCombiner
|
|
{
|
|
/*
|
|
* This is a script that is part of the essential library for "MT Assets" assets.
|
|
*/
|
|
|
|
[AddComponentMenu("")] //Hide this script in component menu.
|
|
public class MTAssetsMathematics : MonoBehaviour
|
|
{
|
|
//This method, randomize a specific list
|
|
public static List<T> RandomizeThisList<T>(List<T> list)
|
|
{
|
|
int count = list.Count;
|
|
int last = count - 1;
|
|
for (int i = 0; i < last; ++i)
|
|
{
|
|
int r = UnityEngine.Random.Range(i, count);
|
|
var tmp = list[i];
|
|
list[i] = list[r];
|
|
list[r] = tmp;
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
//This method return a half position between two Vector 3
|
|
public static Vector3 GetHalfPositionBetweenTwoPoints(Vector3 pointA, Vector3 pointB)
|
|
{
|
|
return Vector3.Lerp(pointA, pointB, 0.5f);
|
|
}
|
|
}
|
|
|
|
//Extensions classes
|
|
public static class ListMethodsExtensions
|
|
{
|
|
//Return the count of elements in list
|
|
public static void RemoveAllNullItems<T>(this List<T> list)
|
|
{
|
|
for (int i = list.Count - 1; i >= 0; i--)
|
|
if (list[i] == null)
|
|
list.RemoveAt(i);
|
|
}
|
|
}
|
|
} |