87 lines
3.3 KiB
C#
87 lines
3.3 KiB
C#
|
|
using XCEngine;
|
||
|
|
|
||
|
|
namespace Gameplay
|
||
|
|
{
|
||
|
|
public sealed class AddComponentProbe : MonoBehaviour
|
||
|
|
{
|
||
|
|
public bool InitialHasCamera;
|
||
|
|
public bool InitialHasLight;
|
||
|
|
public bool InitialHasMeshFilter;
|
||
|
|
public bool InitialHasMeshRenderer;
|
||
|
|
public bool AddedTransform;
|
||
|
|
public bool AddedCamera;
|
||
|
|
public bool AddedLight;
|
||
|
|
public bool AddedMeshFilter;
|
||
|
|
public bool AddedMeshRenderer;
|
||
|
|
public bool HasCameraAfterAdd;
|
||
|
|
public bool HasLightAfterAdd;
|
||
|
|
public bool HasMeshFilterAfterAdd;
|
||
|
|
public bool HasMeshRendererAfterAdd;
|
||
|
|
public bool CameraLookupSucceeded;
|
||
|
|
public bool LightLookupSucceeded;
|
||
|
|
public bool MeshFilterLookupSucceeded;
|
||
|
|
public bool MeshRendererLookupSucceeded;
|
||
|
|
public float ObservedCameraFieldOfView;
|
||
|
|
public float ObservedLightIntensity;
|
||
|
|
public string ObservedMeshPath = string.Empty;
|
||
|
|
public int ObservedMaterialCount;
|
||
|
|
public string ObservedMaterial0Path = string.Empty;
|
||
|
|
public int ObservedRenderLayer;
|
||
|
|
|
||
|
|
public void Start()
|
||
|
|
{
|
||
|
|
InitialHasCamera = HasComponent<Camera>();
|
||
|
|
InitialHasLight = HasComponent<Light>();
|
||
|
|
InitialHasMeshFilter = HasComponent<MeshFilter>();
|
||
|
|
InitialHasMeshRenderer = HasComponent<MeshRenderer>();
|
||
|
|
|
||
|
|
AddedTransform = AddComponent<Transform>() != null;
|
||
|
|
AddedCamera = AddComponent<Camera>() != null;
|
||
|
|
AddedLight = gameObject.AddComponent<Light>() != null;
|
||
|
|
AddedMeshFilter = AddComponent<MeshFilter>() != null;
|
||
|
|
AddedMeshRenderer = gameObject.AddComponent<MeshRenderer>() != null;
|
||
|
|
|
||
|
|
gameObject.AddComponent<Camera>();
|
||
|
|
AddComponent<Light>();
|
||
|
|
gameObject.AddComponent<MeshFilter>();
|
||
|
|
AddComponent<MeshRenderer>();
|
||
|
|
|
||
|
|
HasCameraAfterAdd = HasComponent<Camera>();
|
||
|
|
HasLightAfterAdd = HasComponent<Light>();
|
||
|
|
HasMeshFilterAfterAdd = HasComponent<MeshFilter>();
|
||
|
|
HasMeshRendererAfterAdd = HasComponent<MeshRenderer>();
|
||
|
|
|
||
|
|
CameraLookupSucceeded = TryGetComponent(out Camera camera);
|
||
|
|
LightLookupSucceeded = TryGetComponent(out Light light);
|
||
|
|
MeshFilterLookupSucceeded = TryGetComponent(out MeshFilter meshFilter);
|
||
|
|
MeshRendererLookupSucceeded = TryGetComponent(out MeshRenderer meshRenderer);
|
||
|
|
|
||
|
|
if (camera != null)
|
||
|
|
{
|
||
|
|
camera.fieldOfView = 82.0f;
|
||
|
|
ObservedCameraFieldOfView = camera.fieldOfView;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (light != null)
|
||
|
|
{
|
||
|
|
light.intensity = 4.5f;
|
||
|
|
ObservedLightIntensity = light.intensity;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (meshFilter != null)
|
||
|
|
{
|
||
|
|
meshFilter.meshPath = "Meshes/added.mesh";
|
||
|
|
ObservedMeshPath = meshFilter.meshPath;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (meshRenderer != null)
|
||
|
|
{
|
||
|
|
meshRenderer.SetMaterialPath(0, "Materials/added.mat");
|
||
|
|
meshRenderer.renderLayer = 6;
|
||
|
|
ObservedMaterialCount = meshRenderer.materialCount;
|
||
|
|
ObservedMaterial0Path = meshRenderer.GetMaterialPath(0);
|
||
|
|
ObservedRenderLayer = meshRenderer.renderLayer;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|