Unity 5.1 で「UnityEngine.Assertions.Must.MustExtensions」が追加されました
このクラスを使用することで値が正常であるかどうかを確認できます
値が不正の場合はメッセージを投げます
関数 | 説明 |
---|---|
MustBeNull | 値がnullであることを保証します |
MustNotBeNull | 値がnullではないことを保証します |
MustBeTrue | 値がtrueであることを保証します |
MustBeFalse | 値がfalseであることを保証します |
MustBeEqual | 値が等しいことを保証します |
MustNotBeEqual | 値が等しくないことを保証します |
MustBeApproximatelyEqual | 値がほぼ等しいことを保証します。デフォルトの許容誤差は0.00001f |
MustNotBeApproximatelyEqual | 値がほぼ等しくないことを保証します。デフォルトの許容誤差は0.00001f |
using UnityEngine; using UnityEngine.Assertions.Must; public class ExampleClass : MonoBehaviour { private void Awake() { GameObject notNullObj = gameObject; GameObject nullObj = null; int health = 0; float speed = 1.0f; bool canJump = true; bool isDead = false; // 値が正常なのでメッセージを投げない nullObj .MustBeNull(); notNullObj .MustNotBeNull(); canJump .MustBeTrue(); isDead .MustBeFalse(); health .MustBeEqual( 0 ); health .MustNotBeEqual( 1 ); speed .MustBeApproximatelyEqual( 1.01f, 0.01f ); speed .MustNotBeApproximatelyEqual( 1.02f, 0.01f ); // 値が不正なのでメッセージを投げる nullObj .MustNotBeNull(); // Assertion failed. Value was Null notNullObj .MustBeNull(); // Assertion failed. Value was not Null canJump .MustBeFalse(); // Assertion failed. Value was True isDead .MustBeTrue(); // Assertion failed. Value was False health .MustBeEqual( 1 ); // Assertion failed. Values are not equal. health .MustNotBeEqual( 0 ); // Assertion failed. Values are equal. speed .MustBeApproximatelyEqual( 1.02f, 0.01f ); // Assertion failed. Values are not equal. speed .MustNotBeApproximatelyEqual( 1.01f, 0.01f ); // Assertion failed. Values are equal. } }
拡張メソッドとして呼び出すことができるため
UnityEngine.Assertions.Assertよりも簡潔に処理を記述できます