Experimental room

This commit is contained in:
Oleg Petruny 2025-02-06 18:21:14 +01:00
parent 5b44c8ad18
commit cbfcfdcdf7
74 changed files with 182 additions and 60 deletions
Images/Textures
Models/Constructions
UnrealProject/Lost_Edge
Config
Content
Audio/Sounds
Blueprints
Levels
Level_3
Actors
Dialogue
EventCodes
GC_Level3_GlassWall.uassetL_Level3.umap
Materials
Models
Other
Sequences
Level_4
MaterialsLibrary
Models
Constructions
Decorations/SMA_SecurityCamera
UI/Blueprints/MainMenu
Lost_Edge.uproject
Source/Lost_Edge/Private

Binary file not shown.

After

(image error) Size: 1.8 KiB

Binary file not shown.

After

(image error) Size: 307 B

Binary file not shown.

After

(image error) Size: 2.2 KiB

Binary file not shown.

After

(image error) Size: 2.1 KiB

Binary file not shown.

After

(image error) Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

View File

@ -147,6 +147,7 @@ ManualIPAddress=
+EditProfiles=(Name="OverlapAllDynamic",CustomResponses=((Channel="InteractableTrace",Response=ECR_Overlap),(Channel="Interactable",Response=ECR_Overlap))) +EditProfiles=(Name="OverlapAllDynamic",CustomResponses=((Channel="InteractableTrace",Response=ECR_Overlap),(Channel="Interactable",Response=ECR_Overlap)))
+EditProfiles=(Name="CharacterMesh",CustomResponses=((Channel="Interactable",Response=ECR_Ignore))) +EditProfiles=(Name="CharacterMesh",CustomResponses=((Channel="Interactable",Response=ECR_Ignore)))
+EditProfiles=(Name="Spectator",CustomResponses=((Channel="Interactable",Response=ECR_Ignore))) +EditProfiles=(Name="Spectator",CustomResponses=((Channel="Interactable",Response=ECR_Ignore)))
+EditProfiles=(Name="Trigger",CustomResponses=((Channel="Interactable",Response=ECR_Overlap)))
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") -ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") -ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") -ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")

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.

View File

@ -108,10 +108,6 @@
"Name": "ChaosNiagara", "Name": "ChaosNiagara",
"Enabled": false "Enabled": false
}, },
{
"Name": "ChaosEditor",
"Enabled": false
},
{ {
"Name": "ChaosSolverPlugin", "Name": "ChaosSolverPlugin",
"Enabled": false "Enabled": false

View File

@ -175,6 +175,7 @@ void UDialogueManager::QueueEnded()
{ {
nextDialogues.Pop(); nextDialogues.Pop();
leadDialogueProperties = nullptr; leadDialogueProperties = nullptr;
leadDialogueTimerId = -1;
FDialogueEndCallback callback; FDialogueEndCallback callback;
if(endCallbacks.Dequeue(callback)) if(endCallbacks.Dequeue(callback))
callback.ExecuteIfBound(); callback.ExecuteIfBound();
@ -234,16 +235,21 @@ void UDialogueManager::OnDialogueEnd()
if(auto WM = AMainGameModeBase::GetWidgetsManager()) if(auto WM = AMainGameModeBase::GetWidgetsManager())
WM->HideDialogueWidget(*row); WM->HideDialogueWidget(*row);
if(leadDialogueProperties->playMode == EDialoguePlayMode::Sequential && !endCallbacks.IsEmpty()) switch(leadDialogueProperties->playMode)
{ {
case EDialoguePlayMode::Sequential:
leadDialogueProperties->rowName = FName(FString::FromInt(FCString::Atoi(*(leadDialogueProperties->rowName.ToString())) + 1)); leadDialogueProperties->rowName = FName(FString::FromInt(FCString::Atoi(*(leadDialogueProperties->rowName.ToString())) + 1));
break;
case EDialoguePlayMode::ExactRow:
QueueEnded();
break;
default:
break;
}
dialoguesLock.Unlock(); dialoguesLock.Unlock();
if(!endCallbacks.IsEmpty())
PlayNextDialogue(); PlayNextDialogue();
}
else
{
dialoguesLock.Unlock();
}
{ {
FScopeLock lock1(&dialoguesLock); FScopeLock lock1(&dialoguesLock);

View File

@ -31,7 +31,7 @@ struct FDialogueRow : public FTableRowBase
UPROPERTY(EditAnywhere, BlueprintReadWrite) UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString id = ""; FString id = "";
UPROPERTY(EditAnywhere, BlueprintReadWrite) UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (MultiLine = "true"))
FText text = FText::GetEmpty(); FText text = FText::GetEmpty();
}; };

View File

@ -22,6 +22,20 @@ public:
uint8 stage2Box2 = 0; uint8 stage2Box2 = 0;
UPROPERTY(BlueprintReadWrite) UPROPERTY(BlueprintReadWrite)
uint8 stage3 = 0; uint8 stage3 = 0;
UPROPERTY(BlueprintReadWrite)
bool ended = false;
};
USTRUCT(BlueprintType)
struct FLevel3_State_ExperimentalRoom
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite)
uint8 fail = 0;
UPROPERTY(BlueprintReadWrite)
bool ended = false;
}; };
UCLASS(BlueprintType) UCLASS(BlueprintType)
@ -34,4 +48,6 @@ protected:
UPROPERTY(BlueprintReadWrite) UPROPERTY(BlueprintReadWrite)
FLevel3_State_TechnicalRoom technicalRoomState; FLevel3_State_TechnicalRoom technicalRoomState;
UPROPERTY(BlueprintReadWrite)
FLevel3_State_ExperimentalRoom experimentalRoomState;
}; };

View File

@ -7,6 +7,8 @@
void AQuestManager::BeginPlay() void AQuestManager::BeginPlay()
{ {
Super::BeginPlay();
if(auto gamemode = AMainGameModeBase::Get()) if(auto gamemode = AMainGameModeBase::Get())
gamemode->questsUpdateDelegate.AddDynamic(this, &AQuestManager::Update); gamemode->questsUpdateDelegate.AddDynamic(this, &AQuestManager::Update);
} }
@ -15,6 +17,8 @@ void AQuestManager::EndPlay(const EEndPlayReason::Type EndPlayReason)
{ {
if(auto gamemode = AMainGameModeBase::Get()) if(auto gamemode = AMainGameModeBase::Get())
gamemode->questsUpdateDelegate.RemoveDynamic(this, &AQuestManager::Update); gamemode->questsUpdateDelegate.RemoveDynamic(this, &AQuestManager::Update);
Super::EndPlay(EndPlayReason);
} }
void AQuestManager::Update(TArray<FText> quests) void AQuestManager::Update(TArray<FText> quests)