0 と 1 の世界の見習い探検家

2015年02月


イメージ 1


以前紹介した大学のサークルの展示イベント向けのスコア共有サーバの.NET用クライアントライブラリが完成しました。

【ソフトウェア情報】a32GameServer
http://blogs.yahoo.co.jp/a32kita/12621571.html

このクライアントライブラリを利用することでスコアの送信や送信結果の受信は専用の型のオブジェクトを使って簡単に行えるようになります。

C#で書いた.NETアセンブリということで、通常であればUnityで動かすことが可能なのですが、1つ気になる点が。。。
クライアントライブラリから使用しているぼくの個人用ユーティリティライブラリ()が一部レジストリ操作系のクラス・メソッドの定義も含んでいます。そのため、Windowsに依存している.NET FrameworkのSystem.dll内の名前空間「Microsoft.Win32」を利用するクラス・メソッドがそのユーティリティライブラリに含まれているんです。
クライアントライブラリを参照するとそのユーティリティライブラリも自動的に参照されるわけで、これを通常の.NET Frameworkで動かす場合は心配ありません。ですが動かすのがUnityとなると問題が。。。
UnityはC#が利用できる、.NETの標準ライブラリが利用できるということで.NET Frameworkを利用していると思っている方がいらっしゃるようですが、実は違います。
Unityが.NETのアセンブリを走らせるのに利用しているのはMicrosoftが開発した公式の.NETランタイム「.NET Framework」ではなく、クロスプラットフォームを目的として開発が進められている「mono」なんですよね。
そうするともちろん提供される標準ライブラリも.NET Frameworkのものではなくmonoのものになるわけで。。
.NET FrameworkはWindows向けのため、標準ライブラリの「System.dll」にレジストリ操作系のクラスが定義されていてもおかしくはないのですがクロスプラットフォームを目的としたmonoの「System.dll」に果たしてレジストリ操作系の定義が存在するか。。。
そのためレジストリ操作系のクラスを「System.dll」から呼び出して利用する機能の定義を含んでいるユーティリティライブラリ、更にはそのユーティリティライブラリを利用しているクライアントライブラリがUnityで動作するか不安だったんです。

僕の予測ですが、恐らくユーティリティライブラリのWindows依存系のクラス・メソッドを呼びださなければmonoでも問題なく動作するようですね。


はい。

話がすごい長くなってしまいましたが、要はスコア共有用のクライアントライブラリがUnityで動作したということです。
更に言うとLinux + monoの環境でも動作する可能性が高いことが確認されたということです。

C#で夢広がりますね((
まぁそんなクロスプラットフォームにこだわるならJavaやれって話ですが((

では。

京成電鉄で営業運転している中で最も古い車両である3300形の3304編成と3344編成が明日引退します。
すでに通常の運行は終了していて、明日のラストランイベントが最後になります。


2013年3月に引退した3324編成


同じく2013年3月に引退した3312編成


明日ラストランの3304編成と3344編成は残っている3300形の中では最後の2本です。
本来は3304編成と3344編成はそれぞれ4連の別編成なのですが、3300形の完全引退ということで明日は2編成を連結した8連として運行されます。
本当は3324編成のとき同様、ラストランに乗り鉄キメたかったのですが、残念ながら明日は予定があるため恐らく行くことができません。
高校3年間京成千葉線で度々お世話になった編成たちですのでせめて最後にラストランのヘッドマークを掲出した写真だけでも撮りたいですね、、


0と1の世界の見習い探検家(総合案内所)
http://a32kita.web.fc2.com/

Twitter @a32kita
http://a32kita.web.fc2.com/ext/twitter



2015年2月

イメージ 1


C#上で動的にプログラムをコンパイルできるということは以前から知っていましたが使い方意外と簡単だったんですね。
ソースコード(文字列)とオプションと出力先のファイル名を指定するだけなんですね。
ちなみに作り方によってはメモリ上でコンパイルしてそのままAssembly型として現在のアプリケーションドメイン内にロードすることも可能なのだとか。

画像では僕が実際よりも簡単に扱えるようにしたものを使用していますが、実際にCodeDomで呼び出してもさほど複雑ではないようです。

0と1の世界の見習い探検家(総合案内所)
http://a32kita.web.fc2.com/

Twitter @a32kita
http://a32kita.web.fc2.com/ext/twitter



2015年2月

このページのトップヘ