[C#] LitJSONで2次元配列をデシリアライズする時はジャグ配列のみ有効?
LitJSONで2次元配列をシリアライズ・デシリアライズする際に遭遇した現象のメモ。 どうも多次元配列(int[,])だとデシリアライズが上手くなされないので、 ジャグ配列(int[x][])を使用すると良いらしい? 以下検証コード。 #define USE_JAGGED usi […]
LitJSONで2次元配列をシリアライズ・デシリアライズする際に遭遇した現象のメモ。 どうも多次元配列(int[,])だとデシリアライズが上手くなされないので、 ジャグ配列(int[x][])を使用すると良いらしい? 以下検証コード。 #define USE_JAGGED usi […]
Listを自前の比較用メソッドを使用してソートする方法。 複数の条件があったり、ソート条件を細かく指定したい場合に有用。 簡単なので以下サンプル。 using UnityEngine; using System.Collections.Generic; [System.Seria […]
ある基底クラスを継承して派生クラスを複数作成した時に、 基底クラスベースでそれらのオブジェクトを扱う事がよくあるが、途中で継承した派生クラス別で処理を分けたい場合。 以下、サンプル。 public class CharaBase {} public class Human : C […]
2Dのゲームで当たり判定を行う時、BoxCollider2DやCircleCollider2Dを よくゲームオブジェクトにアタッチしてサイズ調整をするが、 Inspectorで表示されている当たりのサイズはオブジェクト自体のスケールの影響を受けない。 親オブジェクトのスケールを変 […]
C#のクラスオブジェクトをコピーしたい場合がまれによくある。 特にパラメータ系のクラスオブジェクトを作成して、元のオブジェクトの値は保持したままにして 渡した先であれこれしたい場合だ。 C#のクラスは参照での扱い方がベース(でありウリである所)なので、参照先で値をいじると元の方も […]
特定のゲームオブジェクトを親として持つような管理をすることがよくあるのだが、その際に「子オブジェクトを全て削除したい」というケースがよく発生する。 それらの子オブジェクトをシステムで管理していれば、そこから消すようにするのが妥当だが全て管理するのも面倒であり、必要のない時もある。 […]