This change should fix objects lagging behind animations for some props.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@
|
||||
using TMPro;
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using VRC.SDK3.Components;
|
||||
using VRC.SDK3.Image;
|
||||
using VRC.SDK3.UdonNetworkCalling;
|
||||
using VRC.SDKBase;
|
||||
@@ -17,18 +18,19 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
|
||||
[Space]
|
||||
[SerializeField] private GameObject _ComputerBase;
|
||||
[SerializeField] private MeshRenderer _ClueImageCard;
|
||||
[SerializeField] private VRCObjectSync _ClueImageCard;
|
||||
[SerializeField] private MeshRenderer _ClueImageCardMesh;
|
||||
|
||||
[Space]
|
||||
|
||||
[SerializeField] private Transform _UntranslatedCard;
|
||||
[SerializeField] private VRCObjectSync _UntranslatedCard;
|
||||
[SerializeField] private Transform _UntranslatedCardSpawn;
|
||||
[SerializeField] private Transform _UntranslatedCardAnimator;
|
||||
[SerializeField] private TextMeshProUGUI _UntranslatedTextGUI;
|
||||
|
||||
[Space]
|
||||
|
||||
[SerializeField] private Transform _TranslatedCard;
|
||||
[SerializeField] private VRCObjectSync _TranslatedCard;
|
||||
[SerializeField] private Transform _TranslatedCardAnimator;
|
||||
[SerializeField] private TextMeshProUGUI _TranslatedTextGUI;
|
||||
|
||||
@@ -51,7 +53,6 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
|
||||
|
||||
private VRCImageDownloader _ClueImageDownloader;
|
||||
private Texture2D _ClueImageDownload;
|
||||
private Animator _Animator;
|
||||
|
||||
|
||||
@@ -92,7 +93,7 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
}
|
||||
|
||||
|
||||
private void SwooceRightIn()
|
||||
private void _SwooceRightIn()
|
||||
{
|
||||
_Animator.SetBool("Swooce Right In", true);
|
||||
foreach (GameObject Interactable in _Interactables)
|
||||
@@ -100,11 +101,13 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
Interactable.SetActive(true);
|
||||
}
|
||||
|
||||
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.ACMECrimenetComputerIdle);
|
||||
_EnableCards(false);
|
||||
_DisableAllCardSync();
|
||||
|
||||
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.ACMECrimenetComputerIdle);
|
||||
}
|
||||
|
||||
private void SwooceRightBackOutAgain()
|
||||
private void _SwooceRightBackOutAgain()
|
||||
{
|
||||
foreach (GameObject Interactable in _Interactables)
|
||||
{
|
||||
@@ -124,15 +127,48 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
_ClueImageCard.transform.localPosition = Vector3.zero;
|
||||
_ClueImageCard.transform.localRotation = Quaternion.identity;
|
||||
|
||||
_UntranslatedCard.SetParent(_UntranslatedCardSpawn);
|
||||
_UntranslatedCard.localPosition = Vector3.zero;
|
||||
_UntranslatedCard.localRotation = Quaternion.identity;
|
||||
_UntranslatedCard.transform.SetParent(_UntranslatedCardSpawn);
|
||||
_UntranslatedCard.transform.localPosition = Vector3.zero;
|
||||
_UntranslatedCard.transform.localRotation = Quaternion.identity;
|
||||
|
||||
_TranslatedCard.SetParent(_TranslatedCardAnimator);
|
||||
_TranslatedCard.localPosition = Vector3.zero;
|
||||
_TranslatedCard.localRotation = Quaternion.identity;
|
||||
_TranslatedCard.transform.SetParent(_TranslatedCardAnimator);
|
||||
_TranslatedCard.transform.localPosition = Vector3.zero;
|
||||
_TranslatedCard.transform.localRotation = Quaternion.identity;
|
||||
|
||||
_DisableAllCardSync();
|
||||
_EnableCards(false);
|
||||
}
|
||||
|
||||
public void EnableClueImageCardSync()
|
||||
{
|
||||
_ClueImageCard.enabled = true;
|
||||
}
|
||||
|
||||
public void EnableUntranslatedCardSync()
|
||||
{
|
||||
_UntranslatedCard.enabled = true;
|
||||
}
|
||||
|
||||
public void EnableTranslatedCardSync()
|
||||
{
|
||||
_TranslatedCard.enabled = true;
|
||||
}
|
||||
|
||||
private void _DisableAllCardSync()
|
||||
{
|
||||
_ClueImageCard.enabled = false;
|
||||
_UntranslatedCard.enabled = false;
|
||||
_TranslatedCard.enabled = false;
|
||||
}
|
||||
|
||||
private void _EnableCards(bool Enable)
|
||||
{
|
||||
_ClueImageCard.gameObject.SetActive(Enable);
|
||||
_UntranslatedCard.gameObject.SetActive(Enable);
|
||||
_TranslatedCard.gameObject.SetActive(Enable);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void LoadClueImage()
|
||||
{
|
||||
@@ -146,7 +182,7 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
}
|
||||
public override void OnImageLoadSuccess(IVRCImageDownload Result)
|
||||
{
|
||||
_ClueImageCard.material.SetTexture("_MainTex", Result.Result);
|
||||
_ClueImageCardMesh.material.SetTexture("_MainTex", Result.Result);
|
||||
base.OnImageLoadSuccess(Result);
|
||||
}
|
||||
|
||||
@@ -154,6 +190,7 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
[NetworkCallable]
|
||||
public void OpenCompartment()
|
||||
{
|
||||
_ClueImageCard.gameObject.SetActive(true);
|
||||
_AudioManager.PlaySFX(SFXEventType.LeverCartoon);
|
||||
_Animator.SetBool("Open Compartment", true);
|
||||
}
|
||||
@@ -161,6 +198,7 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
[NetworkCallable]
|
||||
public void ThrowClueIntoTheAir()
|
||||
{
|
||||
_UntranslatedCard.gameObject.SetActive(true);
|
||||
_AudioManager.PlaySFX(SFXEventType.Boing);
|
||||
_Animator.SetBool("Throw Clue Into The Air", true);
|
||||
}
|
||||
@@ -170,15 +208,17 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
{
|
||||
_AudioManager.PlaySFX(SFXEventType.Printer);
|
||||
|
||||
_UntranslatedCard.SetParent(_UntranslatedCardAnimator);
|
||||
_UntranslatedCard.localPosition = Vector3.zero;
|
||||
_UntranslatedCard.localRotation = Quaternion.identity;
|
||||
_UntranslatedCard.transform.SetParent(_UntranslatedCardAnimator);
|
||||
_UntranslatedCard.transform.localPosition = Vector3.zero;
|
||||
_UntranslatedCard.transform.localRotation = Quaternion.identity;
|
||||
|
||||
_TranslatedCard.SetParent(_TranslatedCardAnimator);
|
||||
_TranslatedCard.localPosition = Vector3.zero;
|
||||
_TranslatedCard.localRotation = Quaternion.identity;
|
||||
_TranslatedCard.transform.SetParent(_TranslatedCardAnimator);
|
||||
_TranslatedCard.transform.localPosition = Vector3.zero;
|
||||
_TranslatedCard.transform.localRotation = Quaternion.identity;
|
||||
|
||||
_Animator.SetBool("Run Translator", true);
|
||||
|
||||
_UntranslatedCard.enabled = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -189,11 +229,11 @@ public class ACMECrimenetComputer : UdonSharpBehaviour
|
||||
_Activate = value;
|
||||
if (_Activate)
|
||||
{
|
||||
SwooceRightIn();
|
||||
_SwooceRightIn();
|
||||
}
|
||||
else
|
||||
{
|
||||
SwooceRightBackOutAgain();
|
||||
_SwooceRightBackOutAgain();
|
||||
}
|
||||
RequestSerialization();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user