- Started work on proper lighting for the sets.

- Did a bit more work on the ACME Crimenet Computer.
This commit is contained in:
2025-08-10 05:00:46 -04:00
parent 3e71a49a54
commit fd6eed9adc
112 changed files with 14967 additions and 9967 deletions
File diff suppressed because it is too large Load Diff
+39 -4
View File
@@ -7,6 +7,7 @@ public enum MusicEventType
{
None,
OpeningLoop,
CarmenSandiegoTheme,
CarmenSandiegoWindDown,
@@ -47,7 +48,8 @@ public class AudioManager : UdonSharpBehaviour
[SerializeField] private AudioSource _MusicPlayer = null;
[SerializeField] private AudioSource _SFXPlayer = null;
[Header("Music")]
[Space][Header("Music")]
[SerializeField] private AudioClip _OpeningLoop = null;
[SerializeField] private AudioClip _CarmenSandiegoTheme = null;
[SerializeField] private AudioClip _CarmenSandiegoWindDown = null;
@@ -63,7 +65,7 @@ public class AudioManager : UdonSharpBehaviour
[SerializeField] private AudioClip _WhereInTheWorld = null;
[SerializeField] private AudioClip _RockapellaIdent = null;
[Header("SFX")]
[Space][Header("SFX")]
[SerializeField] private AudioClip _Ding = null;
[SerializeField] private AudioClip _Buzzer = null;
[SerializeField] private AudioClip _Round1Correct = null;
@@ -77,7 +79,7 @@ public class AudioManager : UdonSharpBehaviour
[SerializeField] private AudioClip _MapIncorrect = null;
[SerializeField] private AudioClip _CarmenInJail = null;
[Header("Crook Themes")]
[Space][Header("Crook Themes")]
[SerializeField] private AudioClip _CrookTheme_Contessa = null;
[SerializeField] private AudioClip _CrookTheme_DoubleTrouble = null;
[SerializeField] private AudioClip _CrookTheme_EarthaBrute = null;
@@ -89,7 +91,9 @@ public class AudioManager : UdonSharpBehaviour
[SerializeField] private AudioClip _CrookTheme_VicTheSlick = null;
[SerializeField] private AudioClip _CrookTheme_WonderRat = null;
[Header("Private")]
[Space][Header("Crook Jail Calls")]
[SerializeField] private AudioClip _CrookJailCall_Patty_Africa = null;
private bool _FadeOutMusic = false;
@@ -141,6 +145,7 @@ public class AudioManager : UdonSharpBehaviour
switch (MusicEvent)
{
case MusicEventType.OpeningLoop: _MusicPlayer.clip = _OpeningLoop; break;
case MusicEventType.CarmenSandiegoTheme: _MusicPlayer.clip = _CarmenSandiegoTheme; break;
case MusicEventType.CarmenSandiegoWindDown: _MusicPlayer.clip = _CarmenSandiegoWindDown; break;
@@ -261,6 +266,36 @@ public class AudioManager : UdonSharpBehaviour
}
}
[NetworkCallable]
public void PlayJailCall(AccusedCrook Crook, ContinentMap Map)
{
_PlayJailCall_Internal(Crook, Map);
}
private void _PlayJailCall_Internal(AccusedCrook Crook, ContinentMap Map)
{
_SFXPlayer.Stop();
switch (Crook)
{
case AccusedCrook.PattyLarceny:
switch(Map)
{
case ContinentMap.Africa: _SFXPlayer.clip = _CrookJailCall_Patty_Africa; break;
} break;
default: _SFXPlayer.clip = null; break;
}
_SFXPlayer.pitch = 1.0f;
if (_SFXPlayer.clip != null)
{
_SFXPlayer.Play();
}
}
// A messy group of variables that are used for pitch correction of sound effects
// Since Udon doesn't support accessing public static values in structs, we're doing it here
// As5 = 932.33 Hz, PitchShift = TargetNoteFreq / As5Freq
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0a228282603aaa54581e01e48d05afb7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,155 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c333ccfdd0cbdbc4ca30cef2dd6e6b9b, type: 3}
m_Name: VideoMusicClueNoteCard
m_EditorClassIdentifier:
serializedUdonProgramAsset: {fileID: 11400000, guid: 0c2440fa4d7cd16489bb59ef5f50a024,
type: 2}
udonAssembly:
assemblyError:
sourceCsScript: {fileID: 11500000, guid: f6704db2a6e3594418abe835218592d7, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: 4503353456477332469
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: fieldDefinitions
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[UdonSharp.Compiler.FieldDefinition,
UdonSharp.Editor]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: Header
- Name: $v
Entry: 7
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Header
- Name: <UserType>k__BackingField
Entry: 7
Data: 3|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: TMPro.TextMeshProUGUI, Unity.TextMeshPro
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: Comment
- Name: $v
Entry: 7
Data: 5|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: Comment
- Name: <UserType>k__BackingField
Entry: 9
Data: 3
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 6|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4774a3e1b89f83a4889817b730ae460f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,12 @@
using TMPro;
using UdonSharp;
using UnityEngine;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class VideoMusicClueNoteCard : UdonSharpBehaviour
{
public TextMeshProUGUI Header;
public TextMeshProUGUI Comment;
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f6704db2a6e3594418abe835218592d7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 20
Data: 21
- Name:
Entry: 7
Data:
@@ -1197,6 +1197,84 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _VideoMusicClueNoteCard
- Name: $v
Entry: 7
Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _VideoMusicClueNoteCard
- Name: <UserType>k__BackingField
Entry: 7
Data: 75|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: VideoMusicClueNoteCard, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 77|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 78|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- Name: header
Entry: 1
Data: Video Music Clue
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 79|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
@@ -43,6 +43,9 @@ public class GameManagerRound1 : GameManagerBase
[SerializeField] private PlayerPodium[] _PlayerPodiums;
[Space, Header("Video Music Clue")]
[SerializeField] private VideoMusicClueNoteCard _VideoMusicClueNoteCard;
public override void InitialiseGameMode()
{
@@ -59,10 +62,18 @@ public class GameManagerRound1 : GameManagerBase
_PlayerBuzzInAllowed = new bool[_PlayerPodiums.Length];
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusic", MusicEventType.WhereInTheWorld);
SendCustomEventDelayedSeconds(nameof(PlaySecondPartOfThemeMusic), 3.6666666666f);
RequestSerialization();
base.InitialiseGameMode();
}
public void PlaySecondPartOfThemeMusic()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "PlayMusicLoop", MusicEventType.OpeningLoop);
}
public override void LoadQuestionData(DataToken Data)
{
@@ -87,7 +98,7 @@ public class GameManagerRound1 : GameManagerBase
return;
}
Interface.HeaderUI.text = "Case has been loaded. ";
Interface.HeaderUI.text = "Case has been loaded.";
_GameHasBegun = false;
EnableInteraction("Start Game");
@@ -96,6 +107,8 @@ public class GameManagerRound1 : GameManagerBase
private void PlayIntroVideo()
{
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
Interface.HeaderUI.text = "Playing intro video...";
@@ -210,6 +223,8 @@ public class GameManagerRound1 : GameManagerBase
}
else
{
_VideoMusicClueNoteCard.gameObject.SetActive(false);
MultipleChoiceRevealQuestion();
}
}
@@ -217,7 +232,23 @@ public class GameManagerRound1 : GameManagerBase
private void InitialiseVideoMusicClue(DataDictionary Presentation)
{
// The full presentation is not ready yet, so temporarily treat it as
// a regular video clue.
// a regular video clue with some additions.
if (Presentation.ContainsKey("Video Artist") && Presentation.ContainsKey("Clue Description"))
{
_VideoMusicClueNoteCard.Header.text = Presentation["Video Artist"].String;
_VideoMusicClueNoteCard.Comment.text = Presentation["Clue Description"].String;
}
else
{
_VideoMusicClueNoteCard.Header.text = "Error Reading Data";
_VideoMusicClueNoteCard.Comment.text = "just wing it i guess idk";
}
_VideoMusicClueNoteCard.transform.localPosition = Vector3.zero;
_VideoMusicClueNoteCard.transform.localRotation = Quaternion.identity;
_VideoMusicClueNoteCard.gameObject.SetActive(true);
InitialiseVideoClue(Presentation);
}
@@ -314,6 +314,12 @@ public class GameManagerRound2 : GameManagerBase
"RevealPanel", Panel);
}
public void TEMPORARY_Button_PlayPattyLarcenyJailCallAfrica()
{
_AudioManager.PlayJailCall(AccusedCrook.PattyLarceny, ContinentMap.Africa);
}
public void Button_RevealPanel1() { Button_RevealPanel(1); }
public void Button_RevealPanel2() { Button_RevealPanel(2); }
public void Button_RevealPanel3() { Button_RevealPanel(3); }
+65 -11
View File
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 6
Data: 7
- Name:
Entry: 7
Data:
@@ -272,16 +272,70 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _PlayerPodiums
Data: _AudienceTeleportLocation
- Name: $v
Entry: 7
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _AudienceTeleportLocation
- Name: <UserType>k__BackingField
Entry: 9
Data: 3
- Name: <SystemType>k__BackingField
Entry: 9
Data: 3
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 17|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _PlayerPodiums
- Name: $v
Entry: 7
Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PlayerPodiums
- Name: <UserType>k__BackingField
Entry: 7
Data: 16|System.RuntimeType, mscorlib
Data: 19|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: PlayerPodium[], Assembly-CSharp
@@ -290,7 +344,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 17|System.RuntimeType, mscorlib
Data: 20|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Component[], UnityEngine.CoreModule
@@ -311,13 +365,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 19|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 22|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -326,7 +380,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 20|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 23|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -350,7 +404,7 @@ MonoBehaviour:
Data: _ModemArrivalsTeleportLocation
- Name: $v
Entry: 7
Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ModemArrivalsTeleportLocation
@@ -374,13 +428,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 25|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data: 23|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
Data: 26|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
@@ -389,7 +443,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 7
Data: 24|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 27|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
+6
View File
@@ -12,6 +12,7 @@ public class PlayerTeleporter : UdonSharpBehaviour
[SerializeField] private Transform _Player1TeleportLocation;
[SerializeField] private Transform _Player2TeleportLocation;
[SerializeField] private Transform _Player3TeleportLocation;
[SerializeField] private Transform _AudienceTeleportLocation;
[Space]
@@ -44,4 +45,9 @@ public class PlayerTeleporter : UdonSharpBehaviour
Networking.LocalPlayer.TeleportTo(_Player3TeleportLocation.position, _Player3TeleportLocation.rotation);
_PlayerPodiums[2].SetPlayerName();
}
public void TeleportToAudience()
{
Networking.LocalPlayer.TeleportTo(_AudienceTeleportLocation.position, _AudienceTeleportLocation.rotation);
}
}