Skip to content

Instantly share code, notes, and snippets.

using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class CleanEmptyFoldersEditorExtension : EditorWindow
{
private static string deletedFolders;
[MenuItem("Tools/Clean Empty Folders")]
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class SliderValueText : MonoBehaviour
{
[SerializeField]
[Tooltip("The text shown will be formatted using this string. {0} is replaced with the actual value")]
private string formatText = "{0}°";
using UnityEngine;
public class Cannon : MonoBehaviour
{
[SerializeField]
private Rigidbody cannonballInstance;
[SerializeField]
[Range(10f, 80f)]
private float angle = 45f;
private GameObject GetNearestGameObject(List<GameObject> gameObjectsToConsider)
{
float smallestDistance = Mathf.Infinity;
GameObject nearestGameObject;
foreach(var go in gameObjectsToConsider)
{
var distance = Vector3.Distance(transform.position, go.transform.position);
if (distance < smallestDistance)
{
var nearest = gameObjectsToConsider
.OrderBy(t=> Vector3.Distance(transform.position, t.transform.position)
.FirstOrDefault();
var enemiesToTarget = allEnemies.OrderBy(t => t.Health).Take(numberICanTarget);
var dogsInOrder = allDogs.OrderBy(t=> t.Color)
.ThenBy(t=> t.Size);
var coinsByDistance = allCoins.OrderBy(Vector3.Distance(transform.position, t.transform.position);
var coinsByDistance = allCoins.OrderBy(Vector3.Distance(transform.position, t.transform.position);
yield return new WaitForSeconds(1f); // Vector3.Distance hasn't called once, everything's still deffered
if (Input.GetKeyDown(KeyCode.A))
{
foreach (var coin in coinsByDistance) // This iteration makes the LINQ statement execute.
{
coin.DoSomething();
}
}
using System.Linq;