- Maps now properly reset when randomised.
- Some countries are now "hard mode" options, and are not chosen by default. - Map dot switched to a quad to save on triangles. - Map borders SDF updated to be more repeatable when making new maps. - Added looping options to SFX. - Added a "Carmen In Jail" SFX event. - Added a curved TV monitor model for video player. - Added a loot image URL setting for the case list entries.
This commit is contained in:
@@ -94,7 +94,7 @@ public class CaseManager : UdonSharpBehaviour
|
||||
ErrorString = "Ensure the 'Round 3' dictionary entry is a dictionary with a key called 'Continent' and an integer value.";
|
||||
}
|
||||
|
||||
ContinueToRound1();
|
||||
ContinueToRound3();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -170,25 +170,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: MapFiles
|
||||
Data: LootImage
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: MapFiles
|
||||
Data: LootImage
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 11|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 8
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -203,7 +197,7 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 11|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
@@ -224,19 +218,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: VideoFiles
|
||||
Data: MapFiles
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 13|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: VideoFiles
|
||||
Data: MapFiles
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Entry: 7
|
||||
Data: 13|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCUrl[], VRCSDKBase
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 13
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -272,25 +272,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _DeserialisedData
|
||||
Data: VideoFiles
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _DeserialisedData
|
||||
Data: VideoFiles
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 16|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataDictionary, VRCSDK3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 13
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 16
|
||||
Data: 13
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -302,10 +296,10 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
|
||||
@@ -10,11 +10,10 @@ public class CaseManagerListEntry : UdonSharpBehaviour
|
||||
|
||||
public VRCUrl CaseFileURL;
|
||||
|
||||
public VRCUrl LootImage;
|
||||
public VRCUrl[] MapFiles;
|
||||
public VRCUrl[] VideoFiles;
|
||||
|
||||
private DataDictionary _DeserialisedData;
|
||||
|
||||
|
||||
public void LoadCaseFile()
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
|
||||
[UdonSynced] private GameStatus _GameStatus = GameStatus.Pregame;
|
||||
[UdonSynced] private int _Timer = TIMER_LENGTH;
|
||||
private const float LENGTH_OF_ONE_SECOND = 1.04444444444444444f;
|
||||
private const float LENGTH_OF_ONE_SECOND = 1.022222222222222222222f;
|
||||
private const int TIMER_LENGTH = 45;
|
||||
|
||||
[UdonSynced] private int _SuccessCounter = 0;
|
||||
@@ -75,8 +75,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
}
|
||||
|
||||
FloorMap CurrentMap = GetCurrentMap();
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CurrentMap,
|
||||
NetworkEventTarget.Owner,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CurrentMap, NetworkEventTarget.Owner,
|
||||
"RandomiseCountries");
|
||||
}
|
||||
else
|
||||
@@ -110,8 +109,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
|
||||
private void StartTimer()
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager,
|
||||
NetworkEventTarget.All,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"PlayMusicLoop", MusicEventType.CarmenChaseMusic);
|
||||
|
||||
_GameStatus = GameStatus.Begin;
|
||||
@@ -126,8 +124,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_Timer--;
|
||||
if (_Timer < 0)
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.Owner,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this, NetworkEventTarget.Owner,
|
||||
nameof(GameHasBeenLost), false);
|
||||
return;
|
||||
}
|
||||
@@ -148,8 +145,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_SuccessCounter++;
|
||||
if (_SuccessCounter >= MAX_SUCCESS_COUNT)
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.Owner,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this, NetworkEventTarget.Owner,
|
||||
nameof(GameHasBeenWon));
|
||||
}
|
||||
else
|
||||
@@ -202,8 +198,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
if (NextCountry < 0)
|
||||
{
|
||||
// If we ran out of countries, lose the game here.
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.Owner,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this, NetworkEventTarget.Owner,
|
||||
nameof(GameHasBeenLost), true);
|
||||
return;
|
||||
}
|
||||
@@ -223,11 +218,23 @@ public class GameManagerRound3 : GameManagerBase
|
||||
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
|
||||
GameWinInterface.HeaderUI.text = "The player has won the game. " + _Timer + " seconds to spare.";
|
||||
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager,
|
||||
NetworkEventTarget.All,
|
||||
"PlayMusicLoop", MusicEventType.CarmenSandiegoWindDown);
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"PlaySFXLoop", SFXEventType.CarmenInJail);
|
||||
|
||||
SendCustomEventDelayedSeconds(nameof(PlayWindDownMusic), 5.0f);
|
||||
}
|
||||
}
|
||||
public void PlayWindDownMusic()
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"PlayMusicLoop", MusicEventType.CarmenSandiegoWindDown);
|
||||
|
||||
SendCustomEventDelayedSeconds(nameof(EndCarmenInJailSFX), 2.0f);
|
||||
}
|
||||
public void EndCarmenInJailSFX()
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All, "StopSFX");
|
||||
}
|
||||
|
||||
[NetworkCallable]
|
||||
public void GameHasBeenLost(bool RanOutOfMarkers)
|
||||
@@ -245,8 +252,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
|
||||
GameLossInterface.HeaderUI.text = "The player has lost. " + _SuccessCounter + " countries in " + TIMER_LENGTH + " seconds.";
|
||||
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager,
|
||||
NetworkEventTarget.All,
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"StopMusic");
|
||||
}
|
||||
}
|
||||
@@ -264,12 +270,16 @@ public class GameManagerRound3 : GameManagerBase
|
||||
|
||||
public void PlayCorrectSound()
|
||||
{
|
||||
_AudioManager.PlaySFX(SFXEventType.MapCorrect);
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"PlaySFX", SFXEventType.MapCorrect);
|
||||
//_AudioManager.PlaySFX(SFXEventType.MapCorrect);
|
||||
}
|
||||
|
||||
public void PlayIncorrectSound()
|
||||
{
|
||||
_AudioManager.PlaySFX(SFXEventType.MapIncorrect);
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
"PlaySFX", SFXEventType.MapIncorrect);
|
||||
//_AudioManager.PlaySFX(SFXEventType.MapIncorrect);
|
||||
}
|
||||
|
||||
private void UpdateInterface()
|
||||
|
||||
Reference in New Issue
Block a user