fix(scripting): stabilize mono wrapper test teardown
This commit is contained in:
22
managed/GameScripts/CameraLightLookupProbe.cs
Normal file
22
managed/GameScripts/CameraLightLookupProbe.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using XCEngine;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public sealed class CameraLightLookupProbe : MonoBehaviour
|
||||
{
|
||||
public bool HasCamera;
|
||||
public bool HasLight;
|
||||
public bool CameraLookupSucceeded;
|
||||
public bool LightLookupSucceeded;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
HasCamera = HasComponent<Camera>();
|
||||
HasLight = HasComponent<Light>();
|
||||
CameraLookupSucceeded = TryGetComponent(out Camera camera);
|
||||
LightLookupSucceeded = TryGetComponent(out Light light);
|
||||
CameraLookupSucceeded = CameraLookupSucceeded && camera != null;
|
||||
LightLookupSucceeded = LightLookupSucceeded && light != null;
|
||||
}
|
||||
}
|
||||
}
|
||||
36
managed/GameScripts/CameraPropertyProbe.cs
Normal file
36
managed/GameScripts/CameraPropertyProbe.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using XCEngine;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public sealed class CameraPropertyProbe : MonoBehaviour
|
||||
{
|
||||
public bool CameraLookupSucceeded;
|
||||
public float ObservedFieldOfView;
|
||||
public float ObservedNearClipPlane;
|
||||
public float ObservedFarClipPlane;
|
||||
public float ObservedDepth;
|
||||
public bool ObservedPrimary;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
CameraLookupSucceeded = TryGetComponent(out Camera camera);
|
||||
if (camera == null)
|
||||
{
|
||||
CameraLookupSucceeded = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ObservedFieldOfView = camera.fieldOfView;
|
||||
ObservedNearClipPlane = camera.nearClipPlane;
|
||||
ObservedFarClipPlane = camera.farClipPlane;
|
||||
ObservedDepth = camera.depth;
|
||||
ObservedPrimary = camera.primary;
|
||||
|
||||
camera.fieldOfView = 75.0f;
|
||||
camera.nearClipPlane = 0.3f;
|
||||
camera.farClipPlane = 500.0f;
|
||||
camera.depth = 3.0f;
|
||||
camera.primary = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
33
managed/GameScripts/LightPropertyProbe.cs
Normal file
33
managed/GameScripts/LightPropertyProbe.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using XCEngine;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public sealed class LightPropertyProbe : MonoBehaviour
|
||||
{
|
||||
public bool LightLookupSucceeded;
|
||||
public float ObservedIntensity;
|
||||
public float ObservedRange;
|
||||
public float ObservedSpotAngle;
|
||||
public bool ObservedCastsShadows;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
LightLookupSucceeded = TryGetComponent(out Light light);
|
||||
if (light == null)
|
||||
{
|
||||
LightLookupSucceeded = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ObservedIntensity = light.intensity;
|
||||
ObservedRange = light.range;
|
||||
ObservedSpotAngle = light.spotAngle;
|
||||
ObservedCastsShadows = light.castsShadows;
|
||||
|
||||
light.intensity = 2.5f;
|
||||
light.range = 42.0f;
|
||||
light.spotAngle = 55.0f;
|
||||
light.castsShadows = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
30
managed/GameScripts/MeshRendererFlagsProbe.cs
Normal file
30
managed/GameScripts/MeshRendererFlagsProbe.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using XCEngine;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public sealed class MeshRendererFlagsProbe : MonoBehaviour
|
||||
{
|
||||
public bool MeshRendererLookupSucceeded;
|
||||
public bool ObservedCastShadows;
|
||||
public bool ObservedReceiveShadows;
|
||||
public int ObservedRenderLayer;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
MeshRendererLookupSucceeded = TryGetComponent(out MeshRenderer meshRenderer);
|
||||
if (meshRenderer == null)
|
||||
{
|
||||
MeshRendererLookupSucceeded = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ObservedCastShadows = meshRenderer.castShadows;
|
||||
ObservedReceiveShadows = meshRenderer.receiveShadows;
|
||||
ObservedRenderLayer = meshRenderer.renderLayer;
|
||||
|
||||
meshRenderer.castShadows = false;
|
||||
meshRenderer.receiveShadows = true;
|
||||
meshRenderer.renderLayer = 11;
|
||||
}
|
||||
}
|
||||
}
|
||||
29
managed/GameScripts/MeshRendererPathProbe.cs
Normal file
29
managed/GameScripts/MeshRendererPathProbe.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using XCEngine;
|
||||
|
||||
namespace Gameplay
|
||||
{
|
||||
public sealed class MeshRendererPathProbe : MonoBehaviour
|
||||
{
|
||||
public bool MeshRendererLookupSucceeded;
|
||||
public int ObservedInitialMaterialCount;
|
||||
public string ObservedInitialMaterial0Path = string.Empty;
|
||||
public int ObservedUpdatedMaterialCount;
|
||||
public string ObservedUpdatedMaterial1Path = string.Empty;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
MeshRendererLookupSucceeded = TryGetComponent(out MeshRenderer meshRenderer);
|
||||
if (meshRenderer == null)
|
||||
{
|
||||
MeshRendererLookupSucceeded = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ObservedInitialMaterialCount = meshRenderer.materialCount;
|
||||
ObservedInitialMaterial0Path = meshRenderer.GetMaterialPath(0);
|
||||
meshRenderer.SetMaterialPath(1, "Materials/runtime_override.mat");
|
||||
ObservedUpdatedMaterialCount = meshRenderer.materialCount;
|
||||
ObservedUpdatedMaterial1Path = meshRenderer.GetMaterialPath(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user