33 lines
890 B
C#
33 lines
890 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
namespace Assets.Common
|
|
{
|
|
public static class UnityPointExtensions
|
|
{
|
|
public static Vector3 ToVector3(this Point p)
|
|
{
|
|
return new Vector3((float)p.x, 0, (float)p.y);
|
|
}
|
|
}
|
|
|
|
public static class IEnumerableExtensions
|
|
{
|
|
public static T RandomElement<T>(this IEnumerable<T> collection, System.Random generator)
|
|
{
|
|
var count = collection.Count();
|
|
return collection.ElementAt(generator.Next(count));
|
|
}
|
|
|
|
public static IEnumerable<T> RotateRight<T>(this IEnumerable<T> collection, int count = 1)
|
|
{
|
|
var diff = collection.Count() - count;
|
|
|
|
var head = collection.Take(diff);
|
|
var tail = collection.Skip(diff).Take(count);
|
|
|
|
return tail.Concat(head);
|
|
}
|
|
}
|
|
} |