Programming Serendipity

気まぐれに大まかに生きるブログ

object型には気を付けよう!

この記事はさいたまげーむす Advent Calendar 2016 4日目の記事です。

UnityというよりはC#ですが…

string配列の0番目を除いた1番目以降を可変長引数のメソッドに渡し、それぞれの型を復元したいケースがありました。 このとき、一度 List<object>に入れてから渡してしまうと、渡した先でstringへのキャストに失敗してしまうようです。

void Method1()
{
    string line = GetLine(); // ファイルから読み込んだ内容の1行分と仮定(tsv)
    var items = line.Split('\t'); // 長さは不定
    List<object> objects = new List<object>();
    for(int i = 1; i < items.Length; i++)
    {
        objects.Add(items[i]);
    }
    Method2(objects);
}


void Method2(params object[] parameters)
{
    // blah blah blah...
}

本来はもともとstringだったものはobject型に格納されてもキャストすれば復元できるのですが、こうすると経由する過程で型情報が落ちてしまうのか、キャストに失敗します。

「俺は昔stringだった…。だがその記憶はもう失われてしまった…。今の俺はただのobjectさ。」

LINQを使い、line.Skip(1).ToArray();とすることで解決しました。こうするとobjectを経由するのは引数に渡される1回のみですむためか大丈夫なようです。

というかそもそも自分のケースの場合、可変長引数である必要すらなく、string[]で十分でした!(下らないオチ)

object型には気を付けよう!

uGUIのScrollViewを使いこなす7つのTips

この記事は Unity Advent Calendar 2016 3日目の記事です

Unityは2つとも満員で、さすがに盛り上がってますねー。自分は普段縁がないようなWeb系やサーバーサイドのアドカレをぼんやり眺めるのが好きです。同じプログラミングでもかなり世界が違うものだなと感嘆します。

さてさて、Unity5.2で追加されたuGUIのScrollView。様々な手順が簡略化され、実用的になっていますが、そのままでは若干痒い所に手が届かないところがあります。ここでは、それらを解決する案を紹介しようと思います。

続きを読む

新興3Dゲームエンジン「Banshee3D」が面白そう

なんとなく調べものしてたら、このようなゲームエンジンを見つけました。

www.banshee3d.com

ゲームエンジン一覧にもまだ載っていない新しいゲームエンジンのようですが、見た目からしてUnityとUE4を組み合わせたようなイメージで、割とガチでUnityの首を取りに来ているような印象です。それでいてオープンソース。これはすごい。

2017年の4~6月ごろに最初のstableリリースを目指すそうで、興味深いところです。

早く技術力を上げてこういうエンジンにコントリビュートできるようになりたい。

「さようなら大手キャリア」 MVNOに乗り換えました

そういえば、某S社からIIJMioに乗り換えました。 いい加減大手キャリアの競争しているように見えて価格を合わせたぼったくりにうんざりしていたので。 決めたのは少し前だったけど、違約金がとられない月が近かったので少し待ちました。 F*** YOU 2年縛り。

月平均6000円から1600円へ。通信量は月3GBだがテキストサイト閲覧中心でヘビーユースしないので今のところ全く問題なし。
3万円の最新端末を買ったが半年で元が取れる。というか端末は新しい価値だから普通に払ってもいいし、端末をのぞいたら1か月で元が取れる。使わなくなったのを中古で売ればむしろプラス。はぁ。もう大手3社がらみは一切信用しません。
一体いままで俺は何をやっていたのだろう、という感じ。
実際のところ、今までJCOMやe-mobileに押し売りでだまされかけた経験があるのでMVNO全般に対して不信感を抱いていたが、知り合いがIIJMioスマホを新規契約したと聞き、サイトも見てみて考えを改めた。
差額の4000円×24ヵ月=96000円返してほしい。契約時には30000円のキャッシュバックとか言ってほうほうとか思ったけど▲66000円で赤字だな。契約時にもわかってはいたはずだけどあらためて実感する。
某S社は利益1兆円稼いでいるそうで。
まあいい。MVNOが信頼できなかったから仕方ない。あと、仕事で使うかもしれないから大手キャリアのほうが安心かなと思ってたけど、そんなことはなかった。大手だろうがストレスたまるときもあるしそんなに仕事で重要じゃなかった。

そしてMNP番号を取得するときの引き留めがなんとも人を馬鹿にしている。
「ちょうど違約金が発生しない期間ですので…」じゃねーよ。なにがちょうどだよ。違約金が発生するのが前提という口調。
「2年ご利用のお客様には15000円の割引で最新のiPhoneに機種変更できます…」 今更か。月額を安くしろ。
MNP番号を取得したお客様はiPhoneの予約はできません…」。乗り換える人間が予約するわけないだろう。脅しのつもりか。だからどうした。何の魅力もないわ。

というわけでいまはとっても快適。安いと品質が心配とかいうのは完全な思い込みでしたとさ。