コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Mac】chmod: command nout found

概要 if [ -e XXXX ]; then chmod +x XXXX fi ファイルが存在する場合は chmod を実行するシェルを jenkinsfile から実行しようとしたところ chmod: command nout found このエラーが発生する現象に遭遇した if [ -e XXXX ]; then /bin/chmod +x XXXX fi /bi…

【RubyMine】変更があるファイルのタブに * を表示する方法

概要 RubyMine の設定を開いて左メニューで「エディター > 一般 > エディタータブ」を押して 「変更があればアスタリスク(*)でマークする」をオンにして「OK」を押すと 変更があるファイルのタブに * が表示されるようになります

【RubyMine】コード補完で大文字と小文字を区別しないようにする方法

概要 RubyMine の設定を開いて左メニューで「エディター > 一般 > コード補完」を選択して 「大/小文字を区別する」をオフにして「OK」を押すと コード補完で大文字と小文字を区別されなくなります

【RubyMine】Ctrl + マウスホイールでフォントサイズを変更できるようにする方法

概要 RubyMine の設定を開いて左メニューで「エディター > 一般」を押して 「Ctrl + マウスホイールでフォントをサイズ変更する」をオンにして「OK」を押すと Ctrl + マウスホイールでフォントサイズを変更できるようになります

【RubyMine】代入式を縦に揃える方法

概要 RubyMine の設定を開いて左メニューで「エディター > コードスタイル > Ruby」を選択して 「折り返しと波括弧 > 代入とハッシュ > 右側を揃える」をオンにして「OK」を押します そして RubyMine メニューの「コード > コードの整形」を実行すると 代入…

【RubyMine】メソッドの引数の型名(インレイヒント)を非表示にする方法

概要 メソッドの引数の型名(インレイヒント)を非表示にしたい場合は RubyMine の設定を開いて左メニューで「インレイヒント」を選択して 「型 > Ruby > Parameter types」をオフにして「OK」を押すと 非表示にできます

【RubyMine】Insert キーを押した時に上書きモードにならないようにする方法

概要 RubyMine メニューの「ファイル > 設定」を押して 左メニューで「キーマップ」を選択して、検索欄に「挿入」と入力して 表示された「挿入/上書きの切り替え」を右クリックして「Insert の除去」を押して 「OK」を押すと、Insert キーを押した時に上書き…

【Unity】AssetBundleManifest を JSON 形式で出力するための構造体

ソースコード using System; using System.Diagnostics.CodeAnalysis; using System.Linq; using JetBrains.Annotations; using UnityEngine; [Serializable] [SuppressMessage( "ReSharper", "InconsistentNaming" )] public struct JsonAssetBundleManifes…

【Unity】System.Text.Json を使えるようにするだけのパッケージ「Kogane.System.Text.Json」を GitHub で公開しました

リポジトリ 使用例 using System.Text.Encodings.Web; using System.Text.Json; using UnityEngine; public sealed class Character { public int Id { get; set; } public string Name { get; set; } } public class Example : MonoBehaviour { private voi…

【Unity】.exe のウィンドウをボーダーレスにしたり最大化・最小化などができる「Borderless Unity Window」紹介

はじめに 「Borderless Unity Window」を Unity プロジェクトに導入することで .exe のウィンドウをボーダーレスにしたり最大化・最小化などができるようになります 使用例 // ボーダーレスのウィンドウに変更する BorderlessWindow.SetFramelessWindow(); /…

【Unity】Enum.HasFlag の GC Alloc

概要 public sealed class Example : MonoBehaviour { private void Update() { var hasFlag = JobType.SORCERER.HasFlag( JobType.SOLDIER ); } } Enum.HasFlag を使うと毎フレーム 40 B の GC Alloc が発生する public static class EnumExtensions { publ…

【Unity】Scene ビューの Transform ツールの線の太さを変える方法

概要 Unity の Preferences を開いて「Scene View > Line Thickness」を変更すると Scene ビューの Transform ツールの線の太さを 変えることができる

【Unity】PlayableDirector をリスタートするエディタ拡張

ソースコード using UnityEditor; using UnityEngine.Playables; public static class PlayableDirectorMenuItem { [MenuItem( "CONTEXT/" + nameof( PlayableDirector ) + "/" + nameof( Restart ) )] public static void Restart( MenuCommand command ) {…

【Unity】PlayableDirector の Inspector に Timeline ウィンドウを開くボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; using UnityEngine.Playables; [CustomEditor( typeof( PlayableDirector ) )] public sealed class PlayableDirectorInspector : Editor { private static readonly Type BASE_EDITOR_TY…

【Unity】Animator の Inspector に Animator ウィンドウを開くボタンを追加するエディタ拡張

ソースコード using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( Animator ) )] public sealed class AnimatorInspector : Editor { private static readonly Type BASE_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "Un…