ソースコード using UnityEngine; namespace MyProject { public static class CollisionExt { public static bool CompareTag( this Collision self, string tag ) { return self.gameObject.CompareTag( tag ); } } } 使用例 適用前 private void OnCollis…
ソースコード using UnityEngine; namespace MyProject { public static class Collision2DExt { public static bool CompareTag( this Collision2D self, string tag ) { return self.gameObject.CompareTag( tag ); } } } 使用例 適用前 private void OnCo…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponentInParent<T>( this Component self, out T component ) where T : Component { component = self.GetComponentInParent<T>(); return component != null; </t></t>…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponentInChildren<T>( this Component self, out T component ) where T : Component { component = self.GetComponentInChildren<T>(); return component != nu</t></t>…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponent<T>( this Component self, out T component ) where T : Component { component = self.GetComponent<T>(); return component != null; } } public stati</t></t>…
ソースコード 使用例 using UnityEngine; public class Example : MonoBehaviour { public Gradient m_gradient1; public Gradient m_gradient2; [Range( 0, 1 )] public float m_time; public Gradient m_gradient3; private void OnValidate() { m_gradien…
ソースコード using UnityEditor; public static class UnityObjectExt { public static bool IsNotPrefab( this UnityEngine.Object self ) { var type = PrefabUtility.GetPrefabAssetType( self ); return type == PrefabAssetType.NotAPrefab; } } 使用…
ソースコード using UnityEditor; public static class UnityObjectExt { public static bool IsPrefab( this UnityEngine.Object self ) { var type = PrefabUtility.GetPrefabAssetType( self ); return type != PrefabAssetType.NotAPrefab; } } 使用例 D…
概要 using System; using System.Reflection; public static class DelegateExt { public static int GetLength<T>( string name ) { return GetLength( typeof( T ), name ); } public static int GetLength( this Type self, string name ) { var attrs = Bi</t>…
ソースコード using UnityEngine; public static class GameObjectExt { public static string GetHierarchyPath( this GameObject gameObject ) { var path = gameObject.name; var parent = gameObject.transform.parent; while ( parent != null ) { path…
概要 using System.Linq; using UnityEditor.Animations; public static class AnimatorControllerExt { public static bool HasNullMotion( this AnimatorController self ) { foreach ( var n in self.layers ) { if ( n.stateMachine.states.Any( c => c.…
ソースコード using UnityEngine.UI; public static class ToggleExt { public static void SetIsOnWithoutCallback( this Toggle self, bool isOn ) { var onValueChanged = self.onValueChanged; self.onValueChanged = new Toggle.ToggleEvent(); self.is…
はじめに 「unity-utils」を Unity プロジェクトに導入することで 便利な関数や拡張メソッドを使用できるようになります 使用例 RandomUtil using Assets.Scripts.Utils; using System.Collections.Generic; using UnityEngine; public class Example : Mono…
ソースコード 使用例 var dir = Vector2.right; var rot = dir.VectorToDeg(); var angle = 123f; var vec = angle.DegToVector(); 参考ツイート whip those unity types into shape and add your own functionality via extension methods. for instance: c…
ソースコード using UnityEngine; public static class RectTransformExt { public static void SetAnchoredPositionX ( this RectTransform self, float x ) { var pos = self.anchoredPosition; pos.x = x; self.anchoredPosition = pos; } public static …
ソースコード using System; using UnityEngine.Events; public static class UnityEventExt { public static void SetListener( this UnityEvent self, Action call ) { self.RemoveAllListeners(); self.AddListener( () => call() ); } public static voi…
ソースコード using System; using UnityEngine.Events; public static class UnityEventExt { public static void AddListener( this UnityEvent self, Action call ) { self.AddListener( () => call() ); } } 使用例 Action call = () => {}; button.onCl…
ソースコード 使用例 using DG.Tweening; using UnityEngine; public class Example : MonoBehaviour { private async void Start() { var t = transform; await t.DOMove( Random.onUnitSphere, 1 ); // 移動 await t.DORotate( Random.rotation.eulerAngle…
はじめに 「UrFairy」を Unity プロジェクトに導入することで 便利な拡張メソッドが使用できるようになります 使い方 using UrFairy; ソースコードの先頭に上記の using を追加することで使用できるようになります 拡張メソッド一覧(引用) Vector3 transfo…
はじめに 便利な拡張メソッドをまとめた簡易ライブラリ 「KoganeUnityLib」を GitHub に公開しました 目次 はじめに 目次 開発環境 導入方法 拡張メソッド ActionExt ArrayExt BoolExt ByteExt ColorExt ComponentExt DateTimeExt DictionaryExt EnumExt Flo…
ソースコード 関連記事
ソースコード 関連記事
ソースコード 関連記事
ソースコード 関連記事
ソースコード using UnityEngine; public static class Vector2Ext { public static Vector2 Round( this Vector2 self ) { return new Vector2 ( Mathf.Round( self.x ), Mathf.Round( self.y ) ); } } 使い方 var vec = new Vector2( 1.1f, 1.1f ); vec = …
ソースコード using UnityEngine; public static class Vector3Ext { public static Vector3 Round( this Vector3 self ) { return new Vector3 ( Mathf.Round( self.x ), Mathf.Round( self.y ), Mathf.Round( self.z ) ); } } 使い方 var vec = new Vector…
ソースコード using UnityEngine; public static class SpriteRendererExt { public static void SetAlpha( this SpriteRenderer self, float alpha ) { var color = self.color; color.a = alpha; self.color = color; } } 使用例 var renderer = GetCompon…
ソースコード using UnityEngine.UI; public static class GraphicExt { public static void SetAlpha( this Graphic self, float alpha ) { var color = self.color; color.a = alpha; self.color = color; } } 使用例 var image = GetComponent<Image>(); image.S</image>…
ソースコード 使用例 // 指定したレイヤーを表示 camera.LayerCullingShow( "UI" ); // 指定したレイヤーを非表示 camera.LayerCullingHide( "UI" ); // 指定したレイヤーの表示/非表示を反転 camera.LayerCullingToggle( "UI" ); // 指定したレイヤーを表示…
ソースコード using UnityEngine; public static class GameObjectExt { public static Component[] GetComponentsInChildren( this GameObject self, string type, bool includeInactive ) { return self .GetComponentsInChildren<Transform>( includeInactive ) .Sel</transform>…