【C++/CLI】プロパティをヘッダーと実装に分ける

タイトルの通り C++/CLI でヘッダーにはプロパティ(propertyキーワード)の宣言だけを記述し、別のファイルに実装を宣言する方法です。VisualStudio では porperty 宣言は実装を自動生成してくれないため自分で手打ちする必要があります。 ヘッダー側 // Sa…

【Unity】Mathf.LerpとInverseLerpの覚書

使うときは頻繁に使うし使わないと全然使わないのでなかなか覚えられない Mathf.Leap と InverseLLeap の挙動のメモです。 Mathf.Lerp リファレンスの説明は以下の通り。 // [a, b] の範囲内で補間する値 value を生成する線形パラメーター t を計算します f…

【Unity】リングコマンドを実装してみた

タイトルの通り Unity で リングコマンドを実装する実装例の紹介です。UI要素をリング状に配置したように見せて左右で最前面の要素を変更できます。 リングコマンドですが実際の動作は以下のような動きになります。 youtu.be 確認環境 Unity 2020.3.12f1 Win…

【Unity】OdinのHorizontalGroupの使い方

UnityでEditorを拡張するためのアセット「Odin」の機能でインスペクター上に変数を水平に表示できる HorizontalGroup の使い方です。 基本的に公式のマニュアルを見ればOKですが日本語のこのサイトは2017年のものでこれを参考にするとうまく動かなかったので…

【C#】インターネット ショートカットを普通のショートカットに変換する

Windows 上にあるインターネットショートカットを普通のショートカットに変換するプログラムです。 既定のブラウザに関わらず指定したブラウザ(Chorome)で強制的に開くように変換します。 using IWshRuntimeLibrary; using System; using System.Collections…

【C#】リストのジェネリックを親クラスに変換する

List<T> の T を親クラスやインターフェースに変換したいこと無いですか?継承関係があって安全に変換できるならジェネリックの型は親クラスに互換してても良さそうですが List の T では認められていません。この操作はできないので代替案の話になります。 た</t>…

【C++/CLI】std::functionにマネージドメソッドをバインドする

std::function にメソッドを関連付ける時は std::bind を使用しますが C++/CLI でマネージドメソッドを std::bind 渡したい場合の実装方法の紹介です。 C++11 以降で関数ポインタの代わりに std::function でコールバック呼び出しされるような局面でマネージ…

【C++/CLI】Action<T1, T2>, Func<..>がエラーになる

C++/CLI で Action は使用できるのに Action<T1, T2> 以降が「E2154 ジェネリック クラス "System::Action" の引数が多すぎます」でエラーになる場合の対処方法です。 ソリューションエクスプローラー > 該当のプロジェクト > 参照 > System.Core を追加 どうやら定</t1,>…

TextMeshProでドット風フォントをいい感じに表示する

TexeMeshProでドット風のフォント(8bitのビットマップ風フォント)をきれいに表示する方法まとめてみました。 いわゆるドット風のフォントは有名なのが以下の3種類あります。これらは(個人的には)長らくゲーム中で使った時に、なかなか綺麗にに表示されない…

TestMeshProで日本語フォントを作成する(2020.3.11f1)

TextMeshPro でフォントを作成する方法のうち、久しぶりに作業すると手順を忘れがちのフォント作成手順と設定値の意味のメモです。 確認環境 今回の確認環境は以下の通りです。 Unity 2020.3.11f1 Windows 10 TMP Importer で Import TMP Essentials 済み フ…

【3.0.3対応】Stellarisで使用しているMODとおすすめMODの紹介

はじめに 前回の2.3.3と前々回1.6.2でおすすめMODを紹介してから2年経過しました。今回は「3.0.3」までアップデートされています。2.0の頃から基本的なゲームシステムは踏襲しつつもプレイ感は依然と別物になっています。MODも2年で更新が途絶えたり、新しい…

【C#】少し変わった拡張メソッドを作成する

C#では既存のクラスにメソッドを追加できる「拡張メソッド」という機能があります。 今回はこの拡張メソッドの少々変わった使い方の紹介です。 確認環境 今回の確認環境は以下の通りです。 .NET Core5(C# 9.0) VisualStudio 2019 Windows 10 拡張メソッド…