Skip to content

Instantly share code, notes, and snippets.

View inutamago-dogegg's full-sized avatar

Ryuei Nitto inutamago-dogegg

  • Tokyo Institute of Technology
View GitHub Profile
@inutamago-dogegg
inutamago-dogegg / Vector2Extension.cs
Last active March 17, 2024 12:20
UnityEngine.Vector2 extension methods using in my game
using System;
using UnityEngine;
public static class Vector2Extension {
/// <summary>
/// ベクトルを反時計回りに90度回す
/// </summary>
/// <param name="vector2">元のベクトル</param>
/// <returns>ベクトルを反時計回りに90度回したベクトル</returns>
public static Vector2 DEPerpendicular(this Vector2 vector2) {
using System.Linq;
using UnityEngine;
public static T[] FindObjectsByInterface<T>() where T : class {
return Object.FindObjectsByType<Component>(FindObjectsSortMode.None).OfType<T>().ToArray();
}
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
private static void QuitGame() {
#if (UNITY_EDITOR)
EditorApplication.isPlaying = false;
#elif (UNITY_STANDALONE)
using System;
using System.Collections.Generic;
using System.Linq;
public class AliasMethod {
//https://en.wikipedia.org/wiki/Alias_method
//https://stackoverflow.com/a/39199014
//https://www.keithschwarz.com/darts-dice-coins/
public AliasMethod() { }
using System;
using UnityEngine;
public abstract class SingletonMonoBehaviour<T> : MonoBehaviour where T : SingletonMonoBehaviour<T> {
[SerializeField] protected bool DontDestroy = false;
private static T _instance;
public static bool HasInstance => _instance != null;