.NET5のWPFにReactivePropertyをセットアップする

以前より圧倒的に簡単にセットアップできるようになっていて逆に混乱してしまったのでメモ書きです。 確認環境 この記事は以下環境で確認しています。 VS2019(16.11.4) .NET 5(C#9.0) WPF プロジェクト作成済み セットアップ方法 Visual Studio のプロジ…

.NET Core/.NET5以降のコンソールアプリでWPFの機能を利用する

.NET でコンソールアプリを作成した場合は WPF 関係のライブラリが使用できません。 static void Main(string[] args) { Bi tmapSource s = null; // CS0103 現在のコンテキストに 'BitmapSource' という名前は存在しません } IDE 上には以下のように提案が…

ディレクトリの中から最新の更新時刻のファイルを取得する

タイトルの通りですが、あるディレクトリ(フォルダ)の中から最新の更新時刻、つまり一番最後に内容を更新したファイルを 1件だけ取得する実装例です。 最近似たような処理を何度も書いた気がするので記事にしてみました。 確認環境 この記事は以下の環境で…

2つのファイルの内容が同じかチェックする

C#で内容を含めて2つのファイルの内容が同じかどうかをチェックする方法です。 処理の流れは、2つのファイルをファイルサイズで比較した後、内容を1バイトずつ比較しています。 FileStreamで1バイトづつ比較しているのでメモリ使用量が少なく比較的高速に動…

【UniRx】ReactivePropertyのスニペット

UniRx の利用例に ReactiveProperty を public で公開する実装が例示されていたりするのですがそれはちょっと違うんじゃないかなと思ったので記事にしました。 簡単な実装例 public readonly ReactiveProperty<int> Value = new ReactiveProperty<int>(); // IntReacti</int></int>…

【Unity】画像をスクリプトから動的にスライスする

Unity で画像をスライスするには テスクチャーのインスペクターで、SpriteMode を Multiple に変更して SpriteEditor から Slice を指定すれば一つの画像をあらかじめ複数に分割することができますが、これだとちょっと都合が悪い時があるので、こういった事…

【Unity】Sprite.Createが遅い・重い場合の対処法

3500x3500 のテクスチャーを 100x100 に切り出して1125個の Sprite を作成したら Ryzen 5900 なのに 30秒程度かかったため Sprite.Create の生成速度がヤバいなと思ったので調べました。 プロファイラーで見たところ1枚生成するのに 19ms もかかっていたので…

【Unity】吸い付くスクロールを実装してみた

メニューをスクロールしたとき中途半端な位置てスクロールを停止すると、近くの要素に位置が吸い付くように移動する動作をマグネットメニューとかマグネットスクロールと呼んだりするらしい?のですが、今回はその実装方法を紹介です。 サンプル動作 実際に…

【Unity】上下左右を表すThickness型を作成する

C#のGUI表現技術ののXAMLには上下左右を表す Thickness 型というものがありますが Unity にはありません(ないですよね? なので今回はこの Thickness 型を作成して特定の操作を簡単にしたいと思います。GUIの上下端を表したり 確認環境 今回実装・確認を行…

【Unity】HSV用のColor型を作成する

Unity の色指定ができる Color はインスペクター上からだと RBG(byteで0-255, float0~1.0fの2種類)、HSVの値の指定ができますがスクリプト上で color プロパティから Color オブジェクトを取得した場合中に入っている値は RBG となっています。 この Color …

【C++】const参照とshared_ptrをダウンキャストする

const 参照と shared_ptr のダウンキャスト方法です。 先に方法を書いておきますが以下の通りです。 // const参照のダウンキャスト auto&/*const Type&*/ sub = static_cast<const Type&>(obj); // shared_ptrのダウンキャスト std::shared_ptr<Type> sub = std::dynamic_pointe</type></const>…

VisualStudioCodeの初回セットアップメモ

VSCode で個別のプログラミング言語のセットアップをする前に必ずする手順のメモです。 タイトルバー表示をクラシックに切り替える 全ての斜体を無効化する UIメニューフォントを游ゴシックからMeiryo UIに変える Plugin の追加・ほか キャレットのジャンプ…