Initial commit: Tiny Tackle Heroes Unity project
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
using System.Collections;
|
||||
using BumpCombat.Combat;
|
||||
using BumpCombat.Player;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
using UnityEngine.TestTools;
|
||||
|
||||
namespace BumpCombat.PlayModeTests
|
||||
{
|
||||
public sealed class ArtifactImpactFeedbackPlayModeTests
|
||||
{
|
||||
private GameObject feedbackObject;
|
||||
private GameObject targetObject;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
Time.timeScale = 1f;
|
||||
feedbackObject = new GameObject("Artifact Feedback Test Host");
|
||||
feedbackObject.AddComponent<SpriteRenderer>();
|
||||
feedbackObject.AddComponent<CombatFeedback>();
|
||||
targetObject = new GameObject("Artifact Feedback Test Target");
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
if (targetObject != null)
|
||||
{
|
||||
Object.Destroy(targetObject);
|
||||
}
|
||||
if (feedbackObject != null)
|
||||
{
|
||||
Object.Destroy(feedbackObject);
|
||||
}
|
||||
Time.timeScale = 1f;
|
||||
}
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator SixArtifacts_RenderNormalAndChargedContacts_AndCleanUp()
|
||||
{
|
||||
CombatFeedback feedback = feedbackObject.GetComponent<CombatFeedback>();
|
||||
ActiveArtifactEffect[] effects =
|
||||
{
|
||||
ActiveArtifactEffect.Dash,
|
||||
ActiveArtifactEffect.Pulse,
|
||||
ActiveArtifactEffect.Phoenix,
|
||||
ActiveArtifactEffect.Cyclone,
|
||||
ActiveArtifactEffect.ThunderCrash,
|
||||
ActiveArtifactEffect.ChainLightning,
|
||||
};
|
||||
|
||||
for (int i = 0; i < effects.Length; i++)
|
||||
{
|
||||
ActiveArtifactEffect effect = effects[i];
|
||||
CombatEvents.RaiseValidHit(new CombatHitResult(
|
||||
feedbackObject,
|
||||
targetObject,
|
||||
false,
|
||||
HitSide.Front,
|
||||
0f,
|
||||
Vector2.up,
|
||||
0f,
|
||||
new Vector2(i, 0f),
|
||||
isArtifactHit: true,
|
||||
artifactEffect: effect,
|
||||
isChargedArtifact: false));
|
||||
CombatEvents.RaiseValidHit(new CombatHitResult(
|
||||
feedbackObject,
|
||||
targetObject,
|
||||
false,
|
||||
HitSide.Front,
|
||||
0f,
|
||||
Vector2.up,
|
||||
0f,
|
||||
new Vector2(i, 0.5f),
|
||||
showsHitFeedback: false,
|
||||
isArtifactHit: true,
|
||||
artifactEffect: effect,
|
||||
isChargedArtifact: true));
|
||||
|
||||
string effectName = effect switch
|
||||
{
|
||||
ActiveArtifactEffect.Phoenix => "SearingRay",
|
||||
ActiveArtifactEffect.ChainLightning => "Arc",
|
||||
_ => effect.ToString(),
|
||||
};
|
||||
Assert.That(
|
||||
GameObject.Find($"Artifact Impact {effectName} Normal"),
|
||||
Is.Not.Null);
|
||||
Assert.That(
|
||||
GameObject.Find($"Artifact Impact {effectName} Charged"),
|
||||
Is.Not.Null);
|
||||
}
|
||||
|
||||
Assert.That(feedback.ActiveArtifactImpactVisualCount, Is.EqualTo(12));
|
||||
Assert.That(GameObject.Find("Hit Impact"), Is.Null);
|
||||
Assert.That(GameObject.Find("Attack Slash"), Is.Null);
|
||||
|
||||
Time.timeScale = 1f;
|
||||
yield return new WaitForSecondsRealtime(0.25f);
|
||||
|
||||
Assert.That(feedback.ActiveArtifactImpactVisualCount, Is.Zero);
|
||||
LogAssert.NoUnexpectedReceived();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user