Compare commits
4 Commits
bdb25fd3ce
...
39b9f71801
| Author | SHA1 | Date | |
|---|---|---|---|
| 39b9f71801 | |||
|
|
ef88c51454 | ||
|
|
35be78c341 | ||
|
|
5c0a454b79 |
@@ -21,17 +21,25 @@ public partial class MinigameManager : Entity
|
|||||||
FindMinigames();
|
FindMinigames();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartRandomMinigame(List<Lucker> players)
|
public void StartMinigame(List<Lucker> players, string minigameName = null)
|
||||||
|
{
|
||||||
|
if (CheckForMinigames())
|
||||||
|
{
|
||||||
|
LoadedMinigame = string.IsNullOrEmpty( minigameName ) ? AvailableMinigames.OrderBy( _ => Guid.NewGuid() ).FirstOrDefault() : TypeLibrary.Create<Minigame>( minigameName );
|
||||||
|
ChatBox.AddInformation( To.Everyone, $"Starting {LoadedMinigame.Name}" );
|
||||||
|
LoadedMinigame.Initialize( players );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CheckForMinigames()
|
||||||
{
|
{
|
||||||
if ( (AvailableMinigames?.Count ?? 0) == 0 )
|
if ( (AvailableMinigames?.Count ?? 0) == 0 )
|
||||||
{
|
{
|
||||||
Log.Error( "Attempted to start minigame, but none available" );
|
Log.Error( "Attempted to start minigame, but none available" );
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadedMinigame = AvailableMinigames.OrderBy( _ => Guid.NewGuid() ).FirstOrDefault();
|
return true;
|
||||||
ChatBox.AddInformation( To.Everyone, $"Starting {LoadedMinigame.Name}" );
|
|
||||||
LoadedMinigame.Initialize( players );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FindMinigames()
|
private void FindMinigames()
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public partial class RoundManager : Entity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StartRound()
|
private void StartRound( string minigameName = null )
|
||||||
{
|
{
|
||||||
if ( RoundState == RoundState.InProgress )
|
if ( RoundState == RoundState.InProgress )
|
||||||
{
|
{
|
||||||
@@ -120,12 +120,12 @@ public partial class RoundManager : Entity
|
|||||||
|
|
||||||
RoundState = RoundState.InProgress;
|
RoundState = RoundState.InProgress;
|
||||||
Players = All.OfType<Lucker>().ToList();
|
Players = All.OfType<Lucker>().ToList();
|
||||||
MinigameManager.StartRandomMinigame( Players );
|
MinigameManager.StartMinigame( Players, minigameName );
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConCmd.Server( "start_round" )]
|
[ConCmd.Server( "start_round" )]
|
||||||
public static void ForceStart()
|
public static void ForceStart( string minigameName = null )
|
||||||
{
|
{
|
||||||
Entity.All.OfType<RoundManager>().FirstOrDefault()?.StartRound();
|
Entity.All.OfType<RoundManager>().FirstOrDefault()?.StartRound( minigameName );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user