- Finished the basic framework for the ACME Crimenet Computer.

- Added a skateboard and VHS cassette for the video music clues.
- Reworked more materials to have a common parent.
This commit is contained in:
2025-08-12 04:55:21 -04:00
parent d43f771281
commit 1e8b000b41
79 changed files with 7395 additions and 2489 deletions
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 21
Data: 22
- Name:
Entry: 7
Data:
@@ -1275,6 +1275,84 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _ACMECrimenetComputer
- Name: $v
Entry: 7
Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _ACMECrimenetComputer
- Name: <UserType>k__BackingField
Entry: 7
Data: 81|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: ACMECrimenetComputer, 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: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 3
- Name:
Entry: 7
Data: 83|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
- Name: height
Entry: 4
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 84|UnityEngine.HeaderAttribute, UnityEngine.CoreModule
- Name: header
Entry: 1
Data: ACME Crimenet Computer
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 85|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:
@@ -46,6 +46,9 @@ public class GameManagerRound1 : GameManagerBase
[Space, Header("Video Music Clue")]
[SerializeField] private VideoMusicClueNoteCard _VideoMusicClueNoteCard;
[Space, Header("ACME Crimenet Computer")]
[SerializeField] private ACMECrimenetComputer _ACMECrimenetComputer;
public override void InitialiseGameMode()
{
@@ -260,11 +263,24 @@ public class GameManagerRound1 : GameManagerBase
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
Interface.HeaderUI.text = "This part isn't done yet. This will eventually have a really cool computer give you the clue.";
string UntranslatedText = "";
string TranslatedText = "";
if (Presentation.ContainsKey("Clue Description") && Presentation.ContainsKey("Original Text Placeholder"))
{
UntranslatedText = Presentation["Original Text Placeholder"].String;
TranslatedText = Presentation["Clue Description"].String;
}
_ACMECrimenetComputer.SendCustomNetworkEvent(NetworkEventTarget.All,
"SetCardTexts", UntranslatedText, TranslatedText);
_ACMECrimenetComputer.SendCustomNetworkEvent(NetworkEventTarget.All, "SwooceRightIn");
_QuestionSubstage++;
EnableInteraction("Reveal Question");
}
else
{
_ACMECrimenetComputer.SendCustomNetworkEvent(NetworkEventTarget.All, "ResetComputer");
MultipleChoiceRevealQuestion();
}
}
@@ -1434,8 +1450,28 @@ public class GameManagerRound1 : GameManagerBase
HostCardBetweenRoundsInterface Interface =
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
Interface.HeaderUI.text = "Upcoming Question: " + RoundSegmentTypeToString(_CurrentQuestionType);
string PresentationMediumString = "";
if (_CurrentQuestion.ContainsKey("Presentation") && _CurrentQuestion["Presentation"].DataDictionary.ContainsKey("Medium"))
{
DataDictionary Presentation = _CurrentQuestion["Presentation"].DataDictionary;
PresentationMediumString = PresentationMediumToString((PresentationMedium)(int)Presentation["Medium"].Number);
}
Interface.HeaderUI.text = "Upcoming Question: " + ((PresentationMediumString == "") ? RoundSegmentTypeToString(_CurrentQuestionType) : PresentationMediumString);
return Interface;
}
protected string PresentationMediumToString(PresentationMedium Type)
{
switch (Type)
{
case PresentationMedium.VideoClue: return "Standard Video Clue";
case PresentationMedium.VideoMusicClue: return "Video Music Clue";
case PresentationMedium.ACMECrimenetComputer: return "ACME Crimenet Computer";
default: return "[[ERROR]]";
}
}
}