private void OnEnable() { trackedObjectProperty = serializedObject.FindProperty("trackedObjectForSecondTransform"); transformTargetProperty = serializedObject.FindProperty("secondTransformOverride"); solverInBetween = target as InBetween; }
protected override void OnEnable() { base.OnEnable(); secondTrackedTargetTypeProperty = serializedObject.FindProperty("secondTrackedObjectType"); secondTransformOverrideProperty = serializedObject.FindProperty("secondTransformOverride"); partwayOffsetProperty = serializedObject.FindProperty("partwayOffset"); solverInBetween = target as InBetween; }
public IEnumerator TestInBetween() { // Build "posts" to put solved object between var leftPost = GameObject.CreatePrimitive(PrimitiveType.Sphere); leftPost.transform.position = Vector3.forward * 10.0f - Vector3.right * 10.0f; var rightPost = GameObject.CreatePrimitive(PrimitiveType.Sphere); rightPost.transform.position = Vector3.forward * 10.0f + Vector3.right * 10.0f; // Instantiate our test GameObject with solver. var testObjects = InstantiateTestSolver <InBetween>(); testObjects.handler.TrackedTargetType = TrackedObjectType.CustomOverride; testObjects.handler.TransformOverride = leftPost.transform; InBetween inBetween = testObjects.solver as InBetween; Assert.IsNotNull(inBetween, "Solver cast to InBetween is null"); inBetween.SecondTrackedObjectType = TrackedObjectType.CustomOverride; inBetween.SecondTransformOverride = rightPost.transform; // Let InBetween update yield return(WaitForFrames(2)); TestUtilities.AssertAboutEqual(testObjects.target.transform.position, Vector3.forward * 10.0f, "InBetween solver did not place object in middle of posts"); inBetween.PartwayOffset = 0.0f; // Let InBetween update yield return(WaitForFrames(2)); TestUtilities.AssertAboutEqual(testObjects.target.transform.position, rightPost.transform.position, "InBetween solver did not move to the left post"); }