- Added a skateboard and VHS cassette for the video music clues. - Reworked more materials to have a common parent.
110 lines
2.7 KiB
C#
110 lines
2.7 KiB
C#
|
|
using TMPro;
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDK3.UdonNetworkCalling;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
|
|
|
|
[UdonBehaviourSyncMode(BehaviourSyncMode.NoVariableSync)]
|
|
public class ACMECrimenetComputer : UdonSharpBehaviour
|
|
{
|
|
[SerializeField] private AudioManager _AudioManager;
|
|
|
|
[Space]
|
|
|
|
[SerializeField] private Transform _UntranslatedCard;
|
|
[SerializeField] private Transform _UntranslatedCardSpawn;
|
|
[SerializeField] private Transform _UntranslatedCardAnimator;
|
|
[SerializeField] private TextMeshProUGUI _UntranslatedTextGUI;
|
|
|
|
[Space]
|
|
|
|
[SerializeField] private Transform _TranslatedCard;
|
|
[SerializeField] private Transform _TranslatedCardAnimator;
|
|
[SerializeField] private TextMeshProUGUI _TranslatedTextGUI;
|
|
|
|
[Space]
|
|
[SerializeField] private GameObject[] _Interactables;
|
|
|
|
private Animator _Animator;
|
|
|
|
|
|
private void Start()
|
|
{
|
|
_Animator = GetComponent<Animator>();
|
|
}
|
|
|
|
|
|
[NetworkCallable]
|
|
public void ResetComputer()
|
|
{
|
|
foreach (GameObject Interactable in _Interactables)
|
|
{
|
|
Interactable.SetActive(false);
|
|
}
|
|
|
|
_Animator.SetBool("Swooce Right In", false);
|
|
_Animator.SetBool("Open Compartment", false);
|
|
//_Animator.SetBool("Throw Clue Into The Air", false);
|
|
_Animator.SetBool("Run Translator", false);
|
|
|
|
_UntranslatedCard.SetParent(_UntranslatedCardSpawn);
|
|
_UntranslatedCard.localPosition = Vector3.zero;
|
|
_UntranslatedCard.localRotation = Quaternion.identity;
|
|
|
|
_TranslatedCard.SetParent(_TranslatedCardAnimator);
|
|
_TranslatedCard.localPosition = Vector3.zero;
|
|
_TranslatedCard.localRotation = Quaternion.identity;
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void SetCardTexts(string Untranslated, string Translated)
|
|
{
|
|
_UntranslatedTextGUI.text = Untranslated;
|
|
_TranslatedTextGUI.text = Translated;
|
|
}
|
|
|
|
|
|
|
|
[NetworkCallable]
|
|
public void SwooceRightIn()
|
|
{
|
|
_Animator.SetBool("Swooce Right In", true);
|
|
foreach (GameObject Interactable in _Interactables)
|
|
{
|
|
Interactable.SetActive(true);
|
|
}
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void OpenCompartment()
|
|
{
|
|
_AudioManager.PlaySFX(SFXEventType.ComputerOpenCompartment);
|
|
_Animator.SetBool("Open Compartment", true);
|
|
|
|
//SendCustomEventDelayedSeconds(nameof(ThrowClueIntoTheAir), 1.5f);
|
|
}
|
|
public void ThrowClueIntoTheAir()
|
|
{
|
|
//_Animator.SetBool("Throw Clue Into The Air", true);
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void RunTranslator()
|
|
{
|
|
_AudioManager.PlaySFX(SFXEventType.ComputerRunTranslator);
|
|
|
|
_UntranslatedCard.SetParent(_UntranslatedCardAnimator);
|
|
_UntranslatedCard.localPosition = Vector3.zero;
|
|
_UntranslatedCard.localRotation = Quaternion.identity;
|
|
|
|
_TranslatedCard.SetParent(_TranslatedCardAnimator);
|
|
_TranslatedCard.localPosition = Vector3.zero;
|
|
_TranslatedCard.localRotation = Quaternion.identity;
|
|
|
|
_Animator.SetBool("Run Translator", true);
|
|
}
|
|
}
|