Compare commits

..

No commits in common. "620d480dc0847b676e9c43a40e674f3494421fa9" and "fe8cbafd5cbdd33c6c043fd5253f2c3fd77c22cc" have entirely different histories.

47 changed files with 35 additions and 196 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Enemies/Small/BP_SmallEnemy.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Enemies/Small/BTT_Attack.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Enemies/Small/BT_SmallEnemy.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Levels/PrototypeLevel.umap (Stored with Git LFS)

Binary file not shown.

BIN
Content/Levels/PrototypeLevelRework.umap (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Monolith/BPI_AOverheat.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/BPI_Bullet.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/BPI_MeeleWeapon.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/BPI_Monolith.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Monolith/Input/IA_MJump.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/Input/IA_MLook.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/Input/IA_MMove.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/Input/IA_Mability1.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/Input/IMC_Monolith.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/Monolith/UI/WBP_Died.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/QuestSystem/QuestData.uasset (Stored with Git LFS)

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"FileVersion": 3, "FileVersion": 3,
"EngineAssociation": "5.5", "EngineAssociation": "5.4",
"Category": "", "Category": "",
"Description": "", "Description": "",
"Modules": [ "Modules": [

View File

@ -1,8 +1,8 @@
{ {
"FileVersion": 3, "FileVersion": 3,
"FriendlyName": "Advanced Sessions", "FriendlyName": "Advanced Sessions",
"Version": 5.5, "Version": 5.4,
"VersionName": "5.5", "VersionName": "5.4",
"Description": "Adds new blueprint functions to handle more advanced session operations.", "Description": "Adds new blueprint functions to handle more advanced session operations.",
"Category": "Advanced Sessions Plugin", "Category": "Advanced Sessions Plugin",
"CreatedBy": "Joshua Statzer", "CreatedBy": "Joshua Statzer",

View File

@ -52,13 +52,6 @@ public:
FOnSessionInviteReceivedDelegate SessionInviteReceivedDelegate; FOnSessionInviteReceivedDelegate SessionInviteReceivedDelegate;
FDelegateHandle SessionInviteReceivedDelegateHandle; FDelegateHandle SessionInviteReceivedDelegateHandle;
// custom handle to join directly from steam ui "Join Game"
FDelegateHandle OnJoinSessionCompleteDelegateHandle;
// custom Steam UI Join User function #Self invite#
void OnSessionUserInviteAccepted(const bool bWasSuccessful, const int32 ControllerId, FUniqueNetIdPtr UserId, const FOnlineSessionSearchResult& InviteResult);
// custom Steam UI function to client travel #Self invite#
void OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result);
//const FUniqueNetId& /*UserId*/, const FUniqueNetId& /*FromId*/, const FString& /*AppId*/, const FOnlineSessionSearchResult& /*InviteResult*/ //const FUniqueNetId& /*UserId*/, const FUniqueNetId& /*FromId*/, const FString& /*AppId*/, const FOnlineSessionSearchResult& /*InviteResult*/
void OnSessionInviteReceivedMaster(const FUniqueNetId & PersonInvited, const FUniqueNetId & PersonInviting, const FString & AppId, const FOnlineSessionSearchResult& SessionToJoin); void OnSessionInviteReceivedMaster(const FUniqueNetId & PersonInvited, const FUniqueNetId & PersonInviting, const FString & AppId, const FOnlineSessionSearchResult& SessionToJoin);

View File

@ -28,7 +28,7 @@ class UFindSessionsCallbackProxyAdvanced : public UOnlineBlueprintCallProxyBase
// Searches for advertised sessions with the default online subsystem and includes an array of filters // Searches for advertised sessions with the default online subsystem and includes an array of filters
UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true", WorldContext = "WorldContextObject", AutoCreateRefTerm="Filters"), Category = "Online|AdvancedSessions") UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true", WorldContext = "WorldContextObject", AutoCreateRefTerm="Filters"), Category = "Online|AdvancedSessions")
static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray<FSessionsSearchSetting> &Filters, bool bEmptyServersOnly = false, bool bNonEmptyServersOnly = false, bool bSecureServersOnly = false, /*bool bSearchLobbies = true,*/ int MinSlotsAvailable = 0); static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray<FSessionsSearchSetting> &Filters, bool bEmptyServersOnly = false, bool bNonEmptyServersOnly = false, bool bSecureServersOnly = false, bool bSearchLobbies = true, int MinSlotsAvailable = 0);
static bool CompareVariants(const FVariantData &A, const FVariantData &B, EOnlineComparisonOpRedux Comparator); static bool CompareVariants(const FVariantData &A, const FVariantData &B, EOnlineComparisonOpRedux Comparator);
@ -99,7 +99,7 @@ private:
bool bSecureServersOnly; bool bSecureServersOnly;
// Search through lobbies // Search through lobbies
//bool bSearchLobbies; bool bSearchLobbies;
// Min slots requires to search // Min slots requires to search
int MinSlotsAvailable; int MinSlotsAvailable;

View File

@ -20,37 +20,6 @@ UAdvancedFriendsGameInstance::UAdvancedFriendsGameInstance(const FObjectInitiali
{ {
} }
void UAdvancedFriendsGameInstance::OnSessionUserInviteAccepted(const bool bWasSuccessful, const int32 ControllerId, FUniqueNetIdPtr UserId, const FOnlineSessionSearchResult& InviteResult)
{
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld());
if (SessionInterface.IsValid())
{
SessionInterface->ClearOnJoinSessionCompleteDelegate_Handle(OnJoinSessionCompleteDelegateHandle);
OnJoinSessionCompleteDelegateHandle = SessionInterface->AddOnJoinSessionCompleteDelegate_Handle(
FOnJoinSessionCompleteDelegate::CreateUObject(this, &UAdvancedFriendsGameInstance::OnJoinSessionComplete));
SessionInterface->JoinSession(0, NAME_GameSession, InviteResult);
}
UE_LOG(AdvancedFriendsInterfaceLog, Log, TEXT("Called Join Session for Steam Friends List UI InviteResults: %s, UserId: %s"), *InviteResult.GetSessionIdStr(), *UserId->ToString());
}
void UAdvancedFriendsGameInstance::OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result)
{
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld());
if (SessionInterface.IsValid())
{
FString ConnectInfo;
if (SessionInterface->GetResolvedConnectString(NAME_GameSession, ConnectInfo))
{
APlayerController* PlayerController = GetFirstLocalPlayerController();
if (PlayerController)
{
PlayerController->ClientTravel(ConnectInfo, ETravelType::TRAVEL_Absolute);
}
}
}
}
void UAdvancedFriendsGameInstance::Shutdown() void UAdvancedFriendsGameInstance::Shutdown()
{ {
IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld()); IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld());
@ -65,7 +34,6 @@ void UAdvancedFriendsGameInstance::Shutdown()
// Clear all of the delegate handles here // Clear all of the delegate handles here
SessionInterface->ClearOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegateHandle); SessionInterface->ClearOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegateHandle);
SessionInterface->ClearOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegateHandle); SessionInterface->ClearOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegateHandle);
SessionInterface->ClearOnJoinSessionCompleteDelegate_Handle(OnJoinSessionCompleteDelegateHandle);
} }
@ -112,9 +80,6 @@ void UAdvancedFriendsGameInstance::Init()
SessionInviteAcceptedDelegateHandle = SessionInterface->AddOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegate); SessionInviteAcceptedDelegateHandle = SessionInterface->AddOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegate);
SessionInviteReceivedDelegateHandle = SessionInterface->AddOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegate); SessionInviteReceivedDelegateHandle = SessionInterface->AddOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegate);
// Custom steam join game delegate
SessionInterface->OnSessionUserInviteAcceptedDelegates.AddUObject(this, &UAdvancedFriendsGameInstance::OnSessionUserInviteAccepted);
} }
else else
{ {

View File

@ -16,7 +16,7 @@ UFindSessionsCallbackProxyAdvanced::UFindSessionsCallbackProxyAdvanced(const FOb
bIsOnSecondSearch = false; bIsOnSecondSearch = false;
} }
UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray<FSessionsSearchSetting> &Filters, bool bEmptyServersOnly, bool bNonEmptyServersOnly, bool bSecureServersOnly, /*bool bSearchLobbies,*/ int MinSlotsAvailable) UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray<FSessionsSearchSetting> &Filters, bool bEmptyServersOnly, bool bNonEmptyServersOnly, bool bSecureServersOnly, bool bSearchLobbies, int MinSlotsAvailable)
{ {
UFindSessionsCallbackProxyAdvanced* Proxy = NewObject<UFindSessionsCallbackProxyAdvanced>(); UFindSessionsCallbackProxyAdvanced* Proxy = NewObject<UFindSessionsCallbackProxyAdvanced>();
Proxy->PlayerControllerWeakPtr = PlayerController; Proxy->PlayerControllerWeakPtr = PlayerController;
@ -28,7 +28,7 @@ UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSess
Proxy->bEmptyServersOnly = bEmptyServersOnly, Proxy->bEmptyServersOnly = bEmptyServersOnly,
Proxy->bNonEmptyServersOnly = bNonEmptyServersOnly; Proxy->bNonEmptyServersOnly = bNonEmptyServersOnly;
Proxy->bSecureServersOnly = bSecureServersOnly; Proxy->bSecureServersOnly = bSecureServersOnly;
//Proxy->bSearchLobbies = bSearchLobbies; Proxy->bSearchLobbies = bSearchLobbies;
Proxy->MinSlotsAvailable = MinSlotsAvailable; Proxy->MinSlotsAvailable = MinSlotsAvailable;
return Proxy; return Proxy;
} }
@ -114,9 +114,9 @@ void UFindSessionsCallbackProxyAdvanced::Activate()
case EBPServerPresenceSearchType::ClientServersOnly: case EBPServerPresenceSearchType::ClientServersOnly:
{ {
//tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals);
//if (bSearchLobbies)// && !IOnlineSubsystem::DoesInstanceExist("STEAM")) if (bSearchLobbies && !IOnlineSubsystem::DoesInstanceExist("STEAM"))
tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals); tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals);
} }
break; break;
@ -140,9 +140,9 @@ void UFindSessionsCallbackProxyAdvanced::Activate()
FOnlineSearchSettingsEx DedicatedOnly = tem; FOnlineSearchSettingsEx DedicatedOnly = tem;
//tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals);
//if (bSearchLobbies)// && !IOnlineSubsystem::DoesInstanceExist("STEAM")) if (bSearchLobbies && !IOnlineSubsystem::DoesInstanceExist("STEAM"))
tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals); tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals);
//DedicatedOnly.Set(SEARCH_DEDICATED_ONLY, true, EOnlineComparisonOp::Equals); //DedicatedOnly.Set(SEARCH_DEDICATED_ONLY, true, EOnlineComparisonOp::Equals);

View File

@ -46,7 +46,6 @@ void AMonolithCharacter::BeginPlay()
// Call the base class // Call the base class
Super::BeginPlay(); Super::BeginPlay();
MaxHealth = Health;
Mesh1P = Cast<USkeletalMeshComponent>(GetComponentByClass(USkeletalMeshComponent::StaticClass())); Mesh1P = Cast<USkeletalMeshComponent>(GetComponentByClass(USkeletalMeshComponent::StaticClass()));
CharMove = Cast<UCharacterMovementComponent>(GetComponentByClass(UCharacterMovementComponent::StaticClass())); CharMove = Cast<UCharacterMovementComponent>(GetComponentByClass(UCharacterMovementComponent::StaticClass()));
if (CharMove) WalkSpeed = CharMove->MaxWalkSpeed; if (CharMove) WalkSpeed = CharMove->MaxWalkSpeed;
@ -123,19 +122,6 @@ static void UpdateMoveState(FMoveState& MoveState, int Forwards, int Sideways)
} }
} }
void AMonolithCharacter::IncrementHealth(float amount)
{
Health += amount;
if (Health > MaxHealth)
{
Health = MaxHealth;
}
else if (Health <= 0)
{
Died();
}
}
void AMonolithCharacter::Move(const FInputActionValue& Value) void AMonolithCharacter::Move(const FInputActionValue& Value)
{ {
// input is a Vector2D // input is a Vector2D

View File

@ -59,11 +59,6 @@ class AMonolithCharacter : public ACharacter
UPROPERTY(EditAnywhere, Category = "MoveState", meta=(AllowPrivateAccess = "true")) UPROPERTY(EditAnywhere, Category = "MoveState", meta=(AllowPrivateAccess = "true"))
float DashImpulse = 600.f; float DashImpulse = 600.f;
UPROPERTY(EditDefaultsOnly, Category = "Health", meta=(AllowPrivateAccess = "true"))
float Health = 100.f;
float MaxHealth;
USkeletalMeshComponent* Mesh1P; USkeletalMeshComponent* Mesh1P;
UCharacterMovementComponent* CharMove; UCharacterMovementComponent* CharMove;
@ -75,25 +70,6 @@ protected:
void BeginPlay(); void BeginPlay();
void Tick(float DeltaSeconds) override; void Tick(float DeltaSeconds) override;
UFUNCTION(BlueprintCallable)
float GetHealth()
{
return Health;
}
UFUNCTION(BlueprintCallable)
void ResetHealth()
{
Health = MaxHealth;
}
// Increase/Decrease health by this amount, will handle death
UFUNCTION(BlueprintCallable)
void IncrementHealth(float amount);
UFUNCTION(BlueprintImplementableEvent)
void Died();
/** Called for movement input */ /** Called for movement input */
void Move(const FInputActionValue& Value); void Move(const FInputActionValue& Value);
void StopMove(); void StopMove();