動作確認
Unity 5.1.3-f1 on MacOS X 10.8.5
UDPで受信したデータを元にグラフ表示をするソフトを実装している中、動作テストにlinuxからUDP送信を実行するスクリプトを走らせるのが面倒になってきた。
ふと、テスト用のGameObjectを作って最初はfalseにしておいて、それをSetActiveにすればいいと思った。
手順
- Test_weeklyというGameoOjectを作成して、スクリプトとしてTest_weekl.csを新規作成する
- Test_weekly GameObjectは名前の左側のチェックをOFFにして、最初は起動しないようにしておく。
- プレイモードで実行後、インスペクタでTest_weeklyをActiveにすると、中のスクリプトが実行される。
下記がTest_weekly.csの中身。時系列グラフのデータに3点のデータをセットする処理を実装。
Test_weekly.cs
using UnityEngine;
using System.Collections;
public class Test_weekly : MonoBehaviour {
void Test_addWeeklyData() {
string [] dts = new string[]{ "09:30", "11:30", "13:30" };
float [] vals = new float[] { 0.5f, -0.9f, 0.9f };
System.DateTime curDt;
float yval;
int idx = 0;
foreach(var dt in dts) {
curDt = System.DateTime.Parse(dt);
yval = vals[idx];
timeGraphScript.SetXYVal(curDt, yval);
idx++;
}
}
void Start () {
Test_addWeeklyData ();
}
void Update () {
}
}
使用例
playmode起動直後。グラフには何も描かれていない。
インスペクタでTest_weeklyをActiveにすると3点のデータをセットするスクリプトが実行され、以下のようになる。
これでテスト駆動開発ができるようになる。
今はインスペクタでSetActiveにしているが、通信コマンドでActiveにするものを用意してもいいかと思う。
コルーチンを使ってWait付きの処理もできそう。