|
@@ -11,17 +11,12 @@
|
|
#include <MultiplayerSampleTypes.h>
|
|
#include <MultiplayerSampleTypes.h>
|
|
#include <UiGameOverBus.h>
|
|
#include <UiGameOverBus.h>
|
|
|
|
|
|
-#include <GameState/GameStateMatchEnded.h>
|
|
|
|
-#include <GameState/GameStateMatchInProgress.h>
|
|
|
|
-#include <GameState/GameStatePreparingMatch.h>
|
|
|
|
#include <Source/Components/Multiplayer/MatchPlayerCoinsComponent.h>
|
|
#include <Source/Components/Multiplayer/MatchPlayerCoinsComponent.h>
|
|
#include <Source/Components/Multiplayer/PlayerIdentityComponent.h>
|
|
#include <Source/Components/Multiplayer/PlayerIdentityComponent.h>
|
|
#include <Source/Components/NetworkTeleportCompatibleComponent.h>
|
|
#include <Source/Components/NetworkTeleportCompatibleComponent.h>
|
|
#include <Source/Components/NetworkHealthComponent.h>
|
|
#include <Source/Components/NetworkHealthComponent.h>
|
|
#include <Source/Components/NetworkMatchComponent.h>
|
|
#include <Source/Components/NetworkMatchComponent.h>
|
|
#include <Source/Components/NetworkRandomComponent.h>
|
|
#include <Source/Components/NetworkRandomComponent.h>
|
|
-#include <GameState/GameStateRequestBus.h>
|
|
|
|
-#include <GameState/GameStateWaitingForPlayers.h>
|
|
|
|
|
|
|
|
#include "NetworkRandomComponent.h"
|
|
#include "NetworkRandomComponent.h"
|
|
#include "Multiplayer/GemSpawnerComponent.h"
|
|
#include "Multiplayer/GemSpawnerComponent.h"
|
|
@@ -34,6 +29,14 @@
|
|
# include <LyShine/Bus/UiCursorBus.h>
|
|
# include <LyShine/Bus/UiCursorBus.h>
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if AZ_TRAIT_SERVER
|
|
|
|
+# include <GameState/GameStateRequestBus.h>
|
|
|
|
+# include <GameState/GameStateWaitingForPlayers.h>
|
|
|
|
+# include <GameState/GameStatePreparingMatch.h>
|
|
|
|
+# include <GameState/GameStateMatchInProgress.h>
|
|
|
|
+# include <GameState/GameStateMatchEnded.h>
|
|
|
|
+#endif
|
|
|
|
+
|
|
namespace MultiplayerSample
|
|
namespace MultiplayerSample
|
|
{
|
|
{
|
|
AZ_ENUM_DEFINE_REFLECT_UTILITIES(AllowedPlayerActions);
|
|
AZ_ENUM_DEFINE_REFLECT_UTILITIES(AllowedPlayerActions);
|
|
@@ -160,6 +163,12 @@ namespace MultiplayerSample
|
|
RoundRestTimeRemainingAddEvent(handler);
|
|
RoundRestTimeRemainingAddEvent(handler);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ float NetworkMatchComponent::GetRestDurationBetweenMatches() const
|
|
|
|
+ {
|
|
|
|
+ return NetworkMatchComponentBase::GetRestDurationBetweenMatches();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
#if AZ_TRAIT_SERVER
|
|
#if AZ_TRAIT_SERVER
|
|
void NetworkMatchComponent::OnPlayerActivated(Multiplayer::NetEntityId playerEntity)
|
|
void NetworkMatchComponent::OnPlayerActivated(Multiplayer::NetEntityId playerEntity)
|
|
{
|
|
{
|
|
@@ -214,26 +223,28 @@ namespace MultiplayerSample
|
|
AZ::SimpleLcgRandom randomNumberGenerator(aznumeric_cast<int64_t>(AZ::GetElapsedTimeMs()));
|
|
AZ::SimpleLcgRandom randomNumberGenerator(aznumeric_cast<int64_t>(AZ::GetElapsedTimeMs()));
|
|
m_playerNameRandomStartingIndexPrefix = randomNumberGenerator.GetRandom() % AutoAssignedPlayerNamePrefix.size();
|
|
m_playerNameRandomStartingIndexPrefix = randomNumberGenerator.GetRandom() % AutoAssignedPlayerNamePrefix.size();
|
|
m_playerNameRandomStartingIndexPostfix = randomNumberGenerator.GetRandom() % AutoAssignedPlayerNamePostfix.size();
|
|
m_playerNameRandomStartingIndexPostfix = randomNumberGenerator.GetRandom() % AutoAssignedPlayerNamePostfix.size();
|
|
- #endif
|
|
|
|
|
|
+
|
|
|
|
|
|
- GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateWaitingForPlayers>([this]()
|
|
|
|
- {
|
|
|
|
- return AZStd::make_shared<GameStateWaitingForPlayers>(this);
|
|
|
|
- });
|
|
|
|
- GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStatePreparingMatch>([this]()
|
|
|
|
- {
|
|
|
|
- return AZStd::make_shared<GameStatePreparingMatch>(this);
|
|
|
|
- });
|
|
|
|
- GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateMatchInProgress>([this]()
|
|
|
|
- {
|
|
|
|
- return AZStd::make_shared<GameStateMatchInProgress>(this);
|
|
|
|
- });
|
|
|
|
- GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateMatchEnded>([this]()
|
|
|
|
- {
|
|
|
|
- return AZStd::make_shared<GameStateMatchEnded>(this);
|
|
|
|
- });
|
|
|
|
|
|
+ GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateWaitingForPlayers>([this]()
|
|
|
|
+ {
|
|
|
|
+ return AZStd::make_shared<GameStateWaitingForPlayers>(this);
|
|
|
|
+ });
|
|
|
|
+ GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStatePreparingMatch>([this]()
|
|
|
|
+ {
|
|
|
|
+ return AZStd::make_shared<GameStatePreparingMatch>(this);
|
|
|
|
+ });
|
|
|
|
+ GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateMatchInProgress>([this]()
|
|
|
|
+ {
|
|
|
|
+ return AZStd::make_shared<GameStateMatchInProgress>(this);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ GameState::GameStateRequests::AddGameStateFactoryOverrideForType<GameStateMatchEnded>([this]()
|
|
|
|
+ {
|
|
|
|
+ return AZStd::make_shared<GameStateMatchEnded>(this);
|
|
|
|
+ });
|
|
|
|
|
|
- GameState::GameStateRequests::CreateAndPushNewOverridableGameStateOfType<GameStateWaitingForPlayers>();
|
|
|
|
|
|
+ GameState::GameStateRequests::CreateAndPushNewOverridableGameStateOfType<GameStateWaitingForPlayers>();
|
|
|
|
+ #endif
|
|
|
|
|
|
PlayerMatchLifecycleBus::Handler::BusConnect();
|
|
PlayerMatchLifecycleBus::Handler::BusConnect();
|
|
}
|
|
}
|
|
@@ -242,13 +253,14 @@ namespace MultiplayerSample
|
|
{
|
|
{
|
|
PlayerMatchLifecycleBus::Handler::BusDisconnect();
|
|
PlayerMatchLifecycleBus::Handler::BusDisconnect();
|
|
|
|
|
|
|
|
+#if AZ_TRAIT_SERVER
|
|
GameState::GameStateRequestBus::Broadcast(&GameState::GameStateRequestBus::Events::PopAllGameStates);
|
|
GameState::GameStateRequestBus::Broadcast(&GameState::GameStateRequestBus::Events::PopAllGameStates);
|
|
|
|
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateWaitingForPlayers>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateWaitingForPlayers>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStatePreparingMatch>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStatePreparingMatch>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateMatchInProgress>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateMatchInProgress>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateMatchEnded>();
|
|
GameState::GameStateRequests::RemoveGameStateFactoryOverrideForType<GameStateMatchEnded>();
|
|
-#if AZ_TRAIT_SERVER
|
|
|
|
|
|
+
|
|
m_roundTickEvent.RemoveFromQueue();
|
|
m_roundTickEvent.RemoveFromQueue();
|
|
m_restTickEvent.RemoveFromQueue();
|
|
m_restTickEvent.RemoveFromQueue();
|
|
#endif
|
|
#endif
|