2022-08-01から1ヶ月間の記事一覧
概要 using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { var assembly = typeof( Editor ).Assembly; var windowTypeName =…
ソースコード using DG.Tweening; namespace Kogane { public static class TweenExtensionMethods { public static Tween Append( this Tween self, Sequence sequence ) { sequence.Append( self ); return self; } public static Tween Insert( this Twee…
概要 using UnityEngine; public class Example : MonoBehaviour { private void OnDestroy() { new GameObject(); } } using UnityEngine; public class Example : MonoBehaviour { public GameObject m_prefab; private void OnDestroy() { Instantiate( m…
概要 using JetBrains.Annotations; using UnityEngine; using UnityEngine.EventSystems; namespace Kogane { public sealed class CustomStandaloneInputModule : StandaloneInputModule { [CanBeNull] public GameObject GetLastPointerGameObject() { re…
概要 Line Renderer が使用しているマテリアルの Shader を 「Sprites/Default」にしたら描画順が設定できるようになった
はじめに 「Inspection Lens」を Rider に導入することで エラーや警告の内容がコード行に表示されるようになります 導入前 導入後
概要 条件付き書式が設定されていないはずのセルにデータを入力した時に 勝手に上のセルの書式が適用されてしまう場合は 「ファイル」を選択して 「オプション」を選択して 「詳細設定」の「データ範囲の形式および数式を拡張する」をオフにして 「OK」を押…
概要 CreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated. CreateGUI 関数は EditorWindow の rootVisualElement が 操作できるようになるタイミングで呼び出される using UnityEditor; using UnityEngine.UIElements…
概要 using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerClickHandler { public void OnPointerClick( PointerEventData eventData ) { Debug.Log( "OnPointerClick" ); } } 上記のようなスクリプトを Qua…
概要 git submodule foreach git add --all 上記のコマンドを実行する 参考サイト様
概要 後置テンプレートをカスタマイズできる「Custom Postfix Templates」は Rider 非対応
概要 var isHit = m_circleCollider2D.bounds.Contains( position ); CircleCollider2D の bounds.Contains を使うと点と円の当たり判定が実装できる
概要 void IPointerEnterHandler.OnPointerEnter( PointerEventData eventData ) { Debug.Log( eventData.eligibleForClick ) } eventData.eligibleForClick が true ならクリック(タップ)されている
概要 シーンのカメラに Physics 2D Raycaster をアタッチして シーンに Event System を配置して スプライトに OnPointerEnter 検知用のスクリプトと Circle Collider 2D をアタッチして using UnityEngine; using UnityEngine.EventSystems; public class E…
概要 for ( var x = 0; x < m_size.x; x++ ) { for ( var y = 0; y < m_size.y; y++ ) { m_texture.SetPixel( x, y, Color.clear ); } } m_texture.Apply(); 上記のコードだと 0.5 秒かかるところが var pixels = m_texture.GetPixels32(); for ( var i = 0;…
概要 var toolbar = new VisualElement { pickingMode = PickingMode.Ignore, }; pickingMode に PickingMode.Ignore を設定すると その VisualElement はクリックできないようになるため VisualElement の背面に存在する UI がクリックできるようになる
概要 using UnityEditor; using UnityEngine.UIElements; public sealed class Test : EditorWindow { [MenuItem( "Tools/Hoge" )] public static void Open() { GetWindow<Test>(); } public void CreateGUI() { var toolbar = new VisualElement(); toolbar.Add(</test>…
ソースコード using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.delayCall += () => { var assembly = typeof( EditorWin…
概要 find . -type f -name "*hoge" -delete 上記のようなコマンドを実行すると *hoge にマッチするファイルが削除できる 参考サイト様
ソースコード using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using UnityEngine; namespace Kogane { public static class DOTweenTransformShortcutExtensionMethods { public static TweenerCore<Vector3, Vector3, VectorOptions> DOMove ( this GameObj</vector3,>…
ソースコード using UnityEditor; using UnityEditor.ShortcutManagement; using UnityEngine; namespace Kogane.Internal { internal static class SearchShortcutKey { [Shortcut( "Kogane/Open Search New Window", KeyCode.T, ShortcutModifiers.Action …
概要 Preferences の「Version Control > Confirmation」の 「When files are created」を「Do not add」にする 参考サイト様
概要 visualElement.Insert( 0, pingButton ); Add ではなく Insert を使う
概要 // すべて True Debug.Log( typeof( bool ).IsValueType ); Debug.Log( typeof( byte ).IsValueType ); Debug.Log( typeof( sbyte ).IsValueType ); Debug.Log( typeof( char ).IsValueType ); Debug.Log( typeof( decimal ).IsValueType ); Debug.Log(…
概要 var array1 = new int[ 0 ]; var array2 = new string[ 0 ]; var array3 = new Vector3[ 0 ]; Debug.Log( array1.GetType().IsArray ); Debug.Log( array2.GetType().IsArray ); Debug.Log( array3.GetType().IsArray ); 参考サイト様
概要 var dictionary1 = new Dictionary<int, string>(); var dictionary2 = new Dictionary<int, Vector3>(); Debug.Log( typeof( Dictionary<,> ).IsAssignableFrom( dictionary1.GetType().GetGenericTypeDefinition() ) ); Debug.Log( typeof( Dictionary<,> ).IsAssignableFrom( di</int,></int,>…
概要 参考サイト様
概要 The target object is null. Check for missing scripts. Unity エディタで上記のエラーが発生する場合は 削除されたスクリプトを参照しているゲームオブジェクトが シーンに存在する可能性があります 「Missing」になっているスクリプトを右クリックし…
はじめに using UnityEngine; public class Example : MonoBehaviour { private void OnValidate() { Apply(); } private void Apply() { var rectTransform = GetComponent<RectTransform>(); rectTransform.sizeDelta = new Vector2 ( Random.Range( 0f, 100f ), Random.R</recttransform>…
概要 Preferences の「Keymap」で「Main Menu > Window > Editor Tabs > Reopen Closed Tab」に ショートカットキーを割り当てると即座に閉じたタブを開けるようになる 参考サイト様