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(); } [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); } }