Rasagar/Library/PackageCache/com.unity.probuilder/Runtime/Core/ColliderBehaviour.cs
2024-08-26 23:07:20 +03:00

40 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace UnityEngine.ProBuilder
{
/// <summary>
/// A MonoBehaviour that automatically enables and disables the parent GameObject on exiting and enterin playmode, respectively.
/// </summary>
[DisallowMultipleComponent]
sealed class ColliderBehaviour : EntityBehaviour
{
public override void Initialize()
{
var collision = gameObject.GetComponent<Collider>();
if (!collision)
collision = gameObject.AddComponent<MeshCollider>();
collision.isTrigger = false;
SetMaterial(BuiltinMaterials.colliderMaterial);
}
public override void OnEnterPlayMode()
{
var r = GetComponent<Renderer>();
if (r != null)
r.enabled = false;
}
public override void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
var r = GetComponent<Renderer>();
if (r != null)
r.enabled = false;
}
}
}