vault backup: 2025-07-25 16:10:02
This commit is contained in:
8
03-UnrealEngine/Gameplay/GAS/其他社区文章.md
Normal file
8
03-UnrealEngine/Gameplay/GAS/其他社区文章.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-07-25 15:39:41
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
---
|
||||||
|
- UE4/UE5 GAS共享冷却插件(SharedCoolingAbility) https://zhuanlan.zhihu.com/p/32216887423
|
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-07-25 14:49:41
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
---
|
||||||
|
# 相关CVar参数
|
||||||
|
- CommonLoadingScreen.AlwaysShow:总是显示
|
||||||
|
- CommonLoadingScreen.LogLoadingScreenReasonEveryFrame
|
||||||
|
- CommonLoadingScreen.HoldLoadingScreenAdditionalSecs:载入完成后的等待时间。
|
||||||
|
|
||||||
|
# 相关逻辑
|
||||||
|
- ***ULoadingScreenManager***:核心逻辑。
|
||||||
|
- UCommonLoadingScreenSettings:各种设置参数。
|
||||||
|
- ULoadingProcessTask:继承ILoadingProcessInterface接口,只需覆盖ShouldShowLoadingScreen()。
|
||||||
|
- FCommonStartupLoadingScreenModule:StartupModule()、FPreLoadScreenManager::OnPreLoadScreenManagerCleanUp()绑定OnPreLoadScreenManagerCleanUp()。
|
||||||
|
- SCommonPreLoadingScreenWidget:LoadingScreen Slate控件。
|
||||||
|
|
||||||
|
## ULoadingScreenManager(UGameInstanceSubsystem)
|
||||||
|
- Initialize():绑定PreLoadMapWithContext与PostLoadMapWithWorld委托。
|
||||||
|
- Deinitialize():移除BlockInput、移除Widget、移除委托、关闭Tickable。
|
||||||
|
- ShouldCreateSubsystem():覆盖接口函数,对于非Server端都会加载LoadingScreen。
|
||||||
|
- FTickableGameObject
|
||||||
|
- Tick():调用**ShouldCreateSubsystem()**,计算TimeUntilNextLogHeartbeatSeconds。
|
||||||
|
- GetTickableTickType()
|
||||||
|
- IsTickable():如果GameInstance有效且拥有游戏窗口就可以进行Tick。
|
||||||
|
- GetStatId():STATGROUP_Tickables
|
||||||
|
- GetTickableGameObjectWorld():GetGameInstance()->GetWorld();
|
||||||
|
- RegisterLoadingProcessor():用于坐车任务,在ULoadingProcessTask::CreateLoadingScreenProcessTask()被调用。
|
||||||
|
- UnregisterLoadingProcessor():用于卸载任务,在ULoadingProcessTask::Unregister()被调用。
|
||||||
|
- **HandlePreLoadMap()**:修改bCurrentlyInLoadMap为true,之后调用UpdateLoadingScreen()。
|
||||||
|
- **HandlePostLoadMap()**:修改bCurrentlyInLoadMap为false。
|
||||||
|
|
||||||
|
### FPreLoadScreenManager
|
Reference in New Issue
Block a user