Unity - R3 を使った Pure C# のModel層プロジェクトの作成
目次目次概要環境手順サンプル実装参考概要ピュアC#の.NETプロジェクトでModel層を作成するR3 を導入してRxをシームレスに利用するUnity プロジェクトはすでに存在するものとする環境Unity 2022.3.21f1R3 1.1.11手順新しいクラスライブラリプロジェクトを作成するフレームワークは、.NET Standard 2.1 を選択NuGet...
View ArticleUnity - ZLoggerを導入する
目次目次検証環境導入実行参考検証環境Unity 2022.3.21f1ZLogger 2.4.1ZLogger.Unity 2.4.1CsprojModifier 1.2.1github.comgithub.com導入NugetForUnityをインストールNugetForUnityで以下をインストールZLoggerProject Settings > Package Manager...
View ArticleWindows 11 - ショートカットキーでアプリを別の仮想デスクトップに移動する
目次目次TL;DR仮想デスクトップAutoHotKeyの導入スクリプトファイルTL;DRWindows 10 で使用していた MoveToDesktop が Windows 11 では使用できないAutoHotKeyを使用して同等の機能を導入する導入すると現在のウィンドウを [Win + Alt + → or ←]...
View ArticleC# - シンボリックリンクを操作する
TL;DR.NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたため、6以降ではバッチやProcessを使わなくても C#で直接シンボリックリンクを作成できるようになりました。この記事はディレクトリを対象としていますが、ファイルを対象としたFileクラスとFileInfoクラスも同じように操作可能です。.NET 5...
View ArticleUnity - UPMのローカルパッケージ参照で特殊フォルダーを共有する
TL;DR動的にロードされるアセットだけが含まれるフォルダー(ResourcesやStreamingAssets)を対象とした場合、AssetPostprocessorやPackage Managerのイベントが利用できる可能性がある。...
View ArticleUnity - Path を操作する
目次目次検証環境Path を操作するAssetsからの相対パス、絶対パスAssets を含む相対パス検証環境LINQPad で代替Path を操作するyotiky.hatenablog.comAssetsからの相対パス、絶対パスvoid Main() { //var baseDir = Application.dataPath;var baseDir...
View ArticleUnity - Editor拡張で使えるUI機能の概要 ( GUI / GUILayout / EditorGUI / EditorGUILayout)
目次目次環境概要関数一覧GUIGUILayoutEditorGUIEditorGUILayout環境Unity 2022.3概要Editor拡張で使えるUI機能はクラスが4つある GUI - Unity スクリプトリファレンスGUILayout - Unity スクリプトリファレンスEditorGUI - Unity スクリプトリファレンスEditorGUILayout - Unity...
View ArticleC# - シンボリックリンクを操作する(.NET 5以前)
TL;DR.NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたが、5以前では使えないため Win32API を使って操作する。 注意する点は実行に管理者権限が必要なため、Unity などから利用するのは難しいかもしれない。.NET 6...
View ArticleLINQPad - LINQPad 5 で使われる .NET Framework のバージョンを確認する
LINQPadはインストールされている最新 .NET Framework 4.xを対象としている。以下のフォーラムで最新のバージョンが何であるか確認する linqファイルが共有されている。forum.linqpad.net以下コードの抜粋。void Main() { GetFWVersion().Dump(); } static Version _version; publicstatic...
View ArticleC# - 管理者権限でコマンドプロンプトを実行する
Verbに RunAsを設定して、UseShellExecuteを trueにする。 Hiddenが設定されている時に、WaitForExitで待機すると処理が終了しない可能性があるので注意。publicstaticclassCmd { publicstaticvoid CreateSymbolicLink(string src, string dest) { Execute($"/k mklink...
View ArticleUnity - シンボリックリンクを操作するエディター拡張
機能フォルダのみ操作可能ルートで指定したディレクトリ配下のシンボリックリンクを検索して一覧表示シンボリックリンクの作成と削除ソースコードは以下に。github.com
View ArticleUnity - 既定のウィンドウのクラス名をすべて取得する
privatevoid Main() { var builder =new StringBuilder(); var list = GetAllEditorWindowTypes(); foreach ( var n in list.Select(x => x.ToString()).OrderBy(x => x) ) { builder.AppendLine( n ); }...
View ArticleVisual Studio Code - 拡張機能「Text Tables」
概要Markdownのテーブル作成を少し便利にしてくれる拡張機能。行や列の入れ替えが簡単にできる。marketplace.visualstudio.com目次概要目次機能コマンドTable Mode補足機能コマンドコマンドパレットの呼び出しWindows : Ctrl + Shift + PMac : Cmd+Shift+pText Tables: Create table : 列x行(ヘッダー含)...
View ArticleUnity - Editor 拡張の覚書
目次目次検証環境全般リファレンスOnGUIウィンドウウィンドウを表示するShow位置やサイズの指定ShowModalShowModalUtilityShowUtilityShowAuxWindowShowAsDropDownShowPopupShowNotificationウィンドウを閉じる既定のウィンドウを開くUIパーツ(GUILayout)LabelTextField / TextArea /...
View ArticleUnity - Editor 拡張のチートシート
目次目次検証環境全般リファレンスOnGUIウィンドウウィンドウを表示するShow位置やサイズの指定ShowModalShowModalUtilityShowUtilityShowAuxWindowShowAsDropDownShowPopupShowNotificationウィンドウを閉じる既定のウィンドウを開くUIパーツ(GUILayout)LabelTextField / TextArea /...
View ArticleLINQPad - BenchmarkDotNet を利用する
NuGet Manager で BenchmarkDotNet を追加する。属性をつけてそのまま実行すると次のエラーが出力される。// Validating benchmarks: // * Assembly LINQPadQuery, Version=1.0.0.569, Culture=neutral, PublicKeyToken=null is located in temp. If you...
View Articleエンジニアリングマネージャー(EM)とは
「エンジニアリングマネージャー」と言われて何をする人かピンとこなかったので、軽く調べてまとめる。まず、EMと言うと「エンジニアリングマネージャー」と「エンジニアマネージャー」に別れるらしい。...
View ArticleAdvent Calendar 検索 2024
TL;DRXで「Advent Calendar」を含み、いいねが10個以上ついた投稿を1日毎に検索するリンク集カレンダー Sun Mon Tue Wed Thu Fri Sat 12345678910111213141516171819202122232425
View Articleドメイン駆動設計(DDD)がゲーム開発に向かない理由
ドメイン駆動設計は、Wikipediaによると以下の説明がなされている。ドメイン駆動設計(ドメインくどうせっけい、英語: domain-driven...
View Article