public IEnumerator highlight_selected_slot([NUnit.Framework.Range(0, 4)] int slotNumber) { var player = UniversalTestHelpers.GetPlayer(); var slotHolder = Object.FindObjectOfType <UIRuneSlotHolder>(); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); yield return(new WaitForSeconds(1.1f)); var angle = 269.0f - 72.0f * slotNumber; if (angle < 0) { angle = 360 + angle; } PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(angle); yield return(new WaitForUpdate()); for (int index = 0; index < slotHolder.Slots.Length; index++) { var slot = slotHolder.Slots[index]; Assert.AreEqual(slotNumber == index, slot.IsHighlited); } Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator on_slot_selected_selectionSlot_changes() { var player = UniversalTestHelpers.GetPlayer(); var selectionSlot = Object.FindObjectOfType <UIRuneSelectionSlot>(); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); yield return(new WaitForSeconds(1.1f)); PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(268.0f); yield return(new WaitForUpdate()); var icon = selectionSlot.Icon; Assert.AreEqual(null, icon); PlayerInput.Instance.UIRuneConfirm.Returns(true); yield return(null); Assert.AreNotEqual(icon, selectionSlot.Icon); icon = selectionSlot.Icon; PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(90.0f); PlayerInput.Instance.UIRuneConfirm.Returns(true); yield return(null); Assert.AreNotEqual(icon, selectionSlot.Icon); Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator bomb_rune_explode_on_confirm() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(1); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); var bomb = Object.FindObjectOfType <Bomb>(); Assert.NotNull(bomb); PlayerInput.Instance.Confirm.Returns(true); yield return(new WaitForFixedUpdate()); //IsRunning yield return(new WaitForSeconds(bomb.DestroyDelay + 0.1f)); bomb = Object.FindObjectOfType <Bomb>(); Assert.IsNull(bomb); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator mangesis_rune_interactable_object_is_moved_when_controller_moves() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = player.RightHand.transform.position + player.RightHand.transform.forward; cube.AddComponent <IRuneInteractable>(); cube.layer = 8; cube.GetComponent <Rigidbody>().useGravity = false; yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(0); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsTrue(runeController.CurrentRune.IsActive); PlayerInput.Instance.ToggleRuneActivation.Returns(false); PlayerInput.Instance.Confirm.Returns(true); Assert.IsFalse(runeController.CurrentRune.IsRunning); yield return(new WaitForSeconds(1.1f)); // Wait for animation Assert.IsTrue(runeController.CurrentRune.IsRunning); PlayerInput.Instance.RightControllerVelocity.Returns(new Vector3(1.0f, 1.0f, 0.0f)); yield return(new WaitForSeconds(0.5f)); Assert.Greater(cube.transform.position.x, 0.5f); Assert.Greater(cube.transform.position.y, 0.5f); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(cube); yield return(new WaitForUpdate()); }
public IEnumerator all_slots_are_unhighlight_on_disable() { var player = UniversalTestHelpers.GetPlayer(); var slotHolder = Object.FindObjectOfType <UIRuneSlotHolder>(); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); yield return(new WaitForSeconds(1.1f)); var angle = 269.0f; PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(angle); yield return(new WaitForUpdate()); Assert.AreEqual(true, slotHolder.Slots[0].IsHighlited); yield return(new WaitForUpdate()); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(0.0f, 0.0f)); yield return(new WaitForUpdate()); foreach (var slot in slotHolder.Slots) { Assert.AreEqual(false, slot.IsHighlited); } Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator cryonis_rune_creates_iceBlock_on_confirm_with_correct_layer() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); var plane = GameObject.CreatePrimitive(PrimitiveType.Quad); plane.layer = 10; plane.transform.position = player.RightHand.transform.position + player.RightHand.transform.forward * 2; yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(3); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); var target = GameObject.FindObjectOfType <IceBlockTarget>(); Assert.IsNotNull(target); Assert.IsTrue(target.gameObject.activeSelf); PlayerInput.Instance.Confirm.Returns(true); yield return(new WaitForSeconds(1.0f)); PlayerInput.Instance.Confirm.Returns(false); var iceblock = GameObject.FindObjectOfType <IceBlock>(); Assert.IsNotNull(iceblock); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(plane); Object.DestroyImmediate(iceblock); yield return(new WaitForUpdate()); }
public IEnumerator stasis_rune_run_with_interactable_object() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = player.transform.position + player.transform.forward; cube.AddComponent <IRuneInteractable>(); cube.layer = 8; cube.GetComponent <Rigidbody>().useGravity = false; yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(4); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsTrue(runeController.CurrentRune.IsActive); PlayerInput.Instance.ToggleRuneActivation.Returns(false); Assert.IsFalse(runeController.CurrentRune.IsRunning); PlayerInput.Instance.Confirm.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsTrue(runeController.CurrentRune.IsRunning); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(cube); yield return(new WaitForUpdate()); }
public IEnumerator current_rune_starts_null() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); yield return(new WaitForSeconds(1.0f)); Assert.Null(runeController.CurrentRune); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator amount_of_runes_is_equal_to_amount_of_profiles() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); yield return(new WaitForSeconds(1.0f)); Assert.AreEqual(runeController.AmountOfProfiles, runeController.AmountOfRunes); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator selected_rune_starts_deactivated() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(0); Assert.AreEqual(false, runeController.CurrentRune.IsActive); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator give_an_index_in_bounds_makes_current_rune_not_null() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(0); Assert.NotNull(runeController.CurrentRune); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator stasis_rune_gets_activated() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(4); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsTrue(runeController.CurrentRune.IsActive); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator all_slots_are_unhighlight_on_enable() { var player = UniversalTestHelpers.GetPlayer(); var slotHolder = Object.FindObjectOfType <UIRuneSlotHolder>(); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); for (int index = 0; index < slotHolder.Slots.Length; index++) { var slot = slotHolder.Slots[index]; Assert.AreEqual(false, slot.IsHighlited); } yield return(new WaitForUpdate()); Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator active_rune_is_not_running() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(0); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(null); Assert.AreEqual(false, runeController.CurrentRune.IsRunning); Object.DestroyImmediate(player.gameObject); yield return(new WaitForUpdate()); }
public IEnumerator selectedIcon_cant_change_when_rune_is_active() { var player = UniversalTestHelpers.GetPlayer(); var runeController = player.GetComponent <RuneController>(); var selectionSlot = Object.FindObjectOfType <UIRuneSelectionSlot>(); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); //Activate menu yield return(new WaitForSeconds(1.1f)); PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(268.0f); //Set joystick to rune angle yield return(new WaitForUpdate()); var icon = selectionSlot.Icon; Assert.AreEqual(null, icon); PlayerInput.Instance.UIRuneConfirm.Returns(true); //Select rune yield return(null); PlayerInput.Instance.ToggleRuneActivation.Returns(true); //Click rune activation button yield return(null); Assert.IsTrue(runeController.CurrentRune.IsActive); PlayerInput.Instance.ToggleRuneActivation.Returns(false); //Release rune activation button yield return(null); Assert.AreNotEqual(icon, selectionSlot.Icon); //Check selection slot is not the same as previous one in this case it was null icon = selectionSlot.Icon; PlayerInput.Instance.GetJoyStickAngle(ControllerType.Left).Returns(90.0f); PlayerInput.Instance.UIRuneConfirm.Returns(true); //Set joystick angle to another rune and select rune yield return(null); Assert.AreEqual(icon, selectionSlot.Icon); //Check that icon was not selected because rune is active. Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator cant_interact_with_menu_until_animation_is_done() { var player = UniversalTestHelpers.GetPlayer(); var slotHolder = Object.FindObjectOfType <UIRuneSlotHolder>(); Assert.AreEqual(false, slotHolder.IsActive); PlayerInput.Instance.LeftThumbStick.Returns(new Vector2(1.0f, 0.0f)); Assert.AreEqual(false, slotHolder.IsActive); yield return(new WaitForSeconds(0.6f)); Assert.AreEqual(false, slotHolder.IsActive); yield return(new WaitForSeconds(0.6f)); Assert.AreEqual(true, slotHolder.IsActive); Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator bomb_rune_creates_a_bomb_on_activated() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(1); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); var bomb = Object.FindObjectOfType <Bomb>(); Assert.NotNull(bomb); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(bomb); yield return(new WaitForUpdate()); }
public IEnumerator occupied_amount_of_slots_is_the_same_as_runes_created() { var player = UniversalTestHelpers.GetPlayer(); var slotHolder = Object.FindObjectOfType <UIRuneSlotHolder>(); var runeController = Object.FindObjectOfType <RuneController>(); yield return(new WaitForEndOfFrame()); var index = slotHolder.FindOpenSlot(); if (index.HasValue) { Assert.AreEqual(runeController.AmountOfRunes, index.Value); } else { Assert.AreEqual(runeController.AmountOfRunes, slotHolder.AmountOfSlots); } Object.DestroyImmediate(player.gameObject); yield return(null); }
public IEnumerator stasis_rune_doesnt_run_with_normal_object_() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = player.transform.position + player.transform.forward; yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(0); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsTrue(runeController.CurrentRune.IsActive); PlayerInput.Instance.ToggleRuneActivation.Returns(false); PlayerInput.Instance.Confirm.Returns(true); yield return(new WaitForFixedUpdate()); Assert.IsFalse(runeController.CurrentRune.IsRunning); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(cube); yield return(new WaitForUpdate()); }
public IEnumerator cryonis_rune_reuses_iceBlock_on_confirm_with_correct_layer_for_time_number_4() { var player = UniversalTestHelpers.GetPlayer(); var runeController = Object.FindObjectOfType <RuneController>(); var plane = GameObject.CreatePrimitive(PrimitiveType.Quad); plane.layer = 10; plane.transform.position = player.RightHand.transform.position + player.RightHand.transform.forward * 2; plane.transform.localScale = new Vector3(10.0f, 10.0f, 10.0f); yield return(new WaitForSeconds(1.0f)); runeController.SelectRune(3); PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); var target = GameObject.FindObjectOfType <IceBlockTarget>(); Assert.IsNotNull(target); Assert.IsTrue(target.gameObject.activeSelf); PlayerInput.Instance.Confirm.Returns(true); yield return(new WaitForSeconds(1.0f)); PlayerInput.Instance.Confirm.Returns(false); var iceblock = GameObject.FindObjectOfType <IceBlock>(); //First ice block spwan Assert.IsNotNull(iceblock); player.transform.position += Vector3.up * 1.5f; PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); PlayerInput.Instance.Confirm.Returns(true); //Second ice block spawn yield return(new WaitForSeconds(1.0f)); PlayerInput.Instance.Confirm.Returns(false); player.transform.position += Vector3.up * 1.5f; PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); PlayerInput.Instance.Confirm.Returns(true); //Third ice block spwan yield return(new WaitForSeconds(1.0f)); PlayerInput.Instance.Confirm.Returns(false); player.transform.position += Vector3.up * 1.5f; PlayerInput.Instance.ToggleRuneActivation.Returns(true); yield return(new WaitForFixedUpdate()); PlayerInput.Instance.ToggleRuneActivation.Returns(false); PlayerInput.Instance.Confirm.Returns(true); //Fourth ice block spwan yield return(new WaitForSeconds(1.0f)); PlayerInput.Instance.Confirm.Returns(false); var iceblocks = GameObject.FindObjectsOfType <IceBlock>(); Assert.AreEqual(3, iceblocks.Length); Object.DestroyImmediate(player.gameObject); Object.DestroyImmediate(plane); for (int i = 0; i < iceblocks.Length; i++) { Object.DestroyImmediate(iceblocks[i]); } yield return(new WaitForUpdate()); }