You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
4.9 KiB
205 lines
4.9 KiB
9 years ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace UnityTest
|
||
|
{
|
||
|
public class CallTesting : MonoBehaviour
|
||
|
{
|
||
|
public enum Functions
|
||
|
{
|
||
|
CallAfterSeconds,
|
||
|
CallAfterFrames,
|
||
|
Start,
|
||
|
Update,
|
||
|
FixedUpdate,
|
||
|
LateUpdate,
|
||
|
OnDestroy,
|
||
|
OnEnable,
|
||
|
OnDisable,
|
||
|
OnControllerColliderHit,
|
||
|
OnParticleCollision,
|
||
|
OnJointBreak,
|
||
|
OnBecameInvisible,
|
||
|
OnBecameVisible,
|
||
|
OnTriggerEnter,
|
||
|
OnTriggerExit,
|
||
|
OnTriggerStay,
|
||
|
OnCollisionEnter,
|
||
|
OnCollisionExit,
|
||
|
OnCollisionStay,
|
||
|
OnTriggerEnter2D,
|
||
|
OnTriggerExit2D,
|
||
|
OnTriggerStay2D,
|
||
|
OnCollisionEnter2D,
|
||
|
OnCollisionExit2D,
|
||
|
OnCollisionStay2D,
|
||
|
}
|
||
|
|
||
|
public enum Method
|
||
|
{
|
||
|
Pass,
|
||
|
Fail
|
||
|
}
|
||
|
|
||
|
public int afterFrames = 0;
|
||
|
public float afterSeconds = 0.0f;
|
||
|
public Functions callOnMethod = Functions.Start;
|
||
|
|
||
|
public Method methodToCall;
|
||
|
private int m_StartFrame;
|
||
|
private float m_StartTime;
|
||
|
|
||
|
private void TryToCallTesting(Functions invokingMethod)
|
||
|
{
|
||
|
if (invokingMethod == callOnMethod)
|
||
|
{
|
||
|
if (methodToCall == Method.Pass)
|
||
|
IntegrationTest.Pass(gameObject);
|
||
|
else
|
||
|
IntegrationTest.Fail(gameObject);
|
||
|
|
||
|
afterFrames = 0;
|
||
|
afterSeconds = 0.0f;
|
||
|
m_StartTime = float.PositiveInfinity;
|
||
|
m_StartFrame = int.MinValue;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void Start()
|
||
|
{
|
||
|
m_StartTime = Time.time;
|
||
|
m_StartFrame = afterFrames;
|
||
|
TryToCallTesting(Functions.Start);
|
||
|
}
|
||
|
|
||
|
public void Update()
|
||
|
{
|
||
|
TryToCallTesting(Functions.Update);
|
||
|
CallAfterSeconds();
|
||
|
CallAfterFrames();
|
||
|
}
|
||
|
|
||
|
private void CallAfterFrames()
|
||
|
{
|
||
|
if (afterFrames > 0 && (m_StartFrame + afterFrames) <= Time.frameCount)
|
||
|
TryToCallTesting(Functions.CallAfterFrames);
|
||
|
}
|
||
|
|
||
|
private void CallAfterSeconds()
|
||
|
{
|
||
|
if ((m_StartTime + afterSeconds) <= Time.time)
|
||
|
TryToCallTesting(Functions.CallAfterSeconds);
|
||
|
}
|
||
|
|
||
|
public void OnDisable()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnDisable);
|
||
|
}
|
||
|
|
||
|
public void OnEnable()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnEnable);
|
||
|
}
|
||
|
|
||
|
public void OnDestroy()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnDestroy);
|
||
|
}
|
||
|
|
||
|
public void FixedUpdate()
|
||
|
{
|
||
|
TryToCallTesting(Functions.FixedUpdate);
|
||
|
}
|
||
|
|
||
|
public void LateUpdate()
|
||
|
{
|
||
|
TryToCallTesting(Functions.LateUpdate);
|
||
|
}
|
||
|
|
||
|
public void OnControllerColliderHit()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnControllerColliderHit);
|
||
|
}
|
||
|
|
||
|
public void OnParticleCollision()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnParticleCollision);
|
||
|
}
|
||
|
|
||
|
public void OnJointBreak()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnJointBreak);
|
||
|
}
|
||
|
|
||
|
public void OnBecameInvisible()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnBecameInvisible);
|
||
|
}
|
||
|
|
||
|
public void OnBecameVisible()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnBecameVisible);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerEnter()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerEnter);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerExit()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerExit);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerStay()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerStay);
|
||
|
}
|
||
|
public void OnCollisionEnter()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionEnter);
|
||
|
}
|
||
|
|
||
|
public void OnCollisionExit()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionExit);
|
||
|
}
|
||
|
|
||
|
public void OnCollisionStay()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionStay);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerEnter2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerEnter2D);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerExit2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerExit2D);
|
||
|
}
|
||
|
|
||
|
public void OnTriggerStay2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnTriggerStay2D);
|
||
|
}
|
||
|
|
||
|
public void OnCollisionEnter2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionEnter2D);
|
||
|
}
|
||
|
|
||
|
public void OnCollisionExit2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionExit2D);
|
||
|
}
|
||
|
|
||
|
public void OnCollisionStay2D()
|
||
|
{
|
||
|
TryToCallTesting(Functions.OnCollisionStay2D);
|
||
|
}
|
||
|
}
|
||
|
}
|