Files
vrc-measuregeneric-world/Assets/measuregeneric/scripts/Areaportal.cs
2024-12-16 07:04:47 +05:00

53 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class Areaportal : UdonSharpBehaviour
{
private OcclusionPortal portal;
private GameObject[] imposters;
void Start()
{
this.portal = this.GetComponent<OcclusionPortal>();
this.imposters = new GameObject[this.transform.childCount];
// Ёбаный рот этого UdonSharp
int i = 0;
foreach(Transform child in this.transform)
{
this.imposters[i++] = child.gameObject;
}
}
public override void OnPlayerTriggerEnter(VRCPlayerApi player)
{
if (!(player.IsValid() && player.isLocal))
return;
this.portal.open = true;
foreach(GameObject imposter in this.imposters)
{
imposter.SetActive(false);
}
}
public override void OnPlayerTriggerExit(VRCPlayerApi player)
{
if (!(player.IsValid() && player.isLocal))
return;
this.portal.open = false;
foreach(GameObject imposter in this.imposters)
{
imposter.SetActive(true);
}
}
}