vault backup: 2024-08-16 14:19:28

This commit is contained in:
BlueRose 2024-08-16 14:19:28 +08:00
parent beb8ab2c0c
commit aa6ce79cc6
2 changed files with 98 additions and 1 deletions

View File

@ -1 +1 @@
{"123456":{"123456":{"currentFile":{"count":2,"lastUpdated":1720755815809}}},"LiveLink的应用及扩展":{"LiveLink的应用及扩展":{"internalLink":{"count":1,"lastUpdated":1720682388242}}},"Actor即可。":{"Actor即可。":{"currentFile":{"count":1,"lastUpdated":1721128244899}}},"TODO清单":{"TODO清单":{"internalLink":{"count":1,"lastUpdated":1721185627583}}},"群贝拉场景。可能是动画蓝图的问题。并不确定。":{"群贝拉场景。可能是动画蓝图的问题。并不确定。":{"currentFile":{"count":1,"lastUpdated":1721186286231}}},"c++内存泄漏分析工具":{"c++内存泄漏分析工具":{"internalLink":{"count":1,"lastUpdated":1721218206634}}},"DMX优化":{"DMX优化":{"currentFile":{"count":1,"lastUpdated":1721285453609}}},"TsMapEnvironmentLayerManagerEnterLevelArea":{"TsMapEnvironmentLayerManagerEnterLevelArea":{"currentFile":{"count":1,"lastUpdated":1721646563688}}},"86.1353986110013":{"86.1353986110013":{"currentFile":{"count":1,"lastUpdated":1722512530872}}}}
{"c++内存泄漏分析工具":{"c++内存泄漏分析工具":{"internalLink":{"count":1,"lastUpdated":1721218206634}}},"DMX优化":{"DMX优化":{"currentFile":{"count":1,"lastUpdated":1721285453609}}},"TsMapEnvironmentLayerManagerEnterLevelArea":{"TsMapEnvironmentLayerManagerEnterLevelArea":{"currentFile":{"count":1,"lastUpdated":1721646563688}}},"86.1353986110013":{"86.1353986110013":{"currentFile":{"count":1,"lastUpdated":1722512530872}}},"Multicast":{"Multicast":{"currentFile":{"count":1,"lastUpdated":1723785247956}}}}

View File

@ -48,4 +48,101 @@ RegisterEventListener(): void
this.PropComp.DressModelTeleport(TargetLiveAreaGUID)
}
}
```
## 相关事件
- BeforeSwitchArea_Multicast
## 笔记
- SwitchToLiveArea()
- 设置Idol的位置。
- this.OnSwitchLiveArea.Broadcast(oriUUID, uuid);
        - DirectorEventSystem.Emit(this, DirectorEvent.OnFinishSwitchLiveAreaLocal, this.CurrentLiveAreaUUID)
        - console.log('切换直播区域,area=[' + (liveArea as UE.LiveAreaActor).Title + ']')
        - DirectorCamUtil.EnsureWorkShopReady(this, placement.UUID, () => { this.SwitchWorkShopInAreaServer(0) }) ***TsDirectorCamManagerActor.ts***
        - SwitchWorkShopInAreaServer
        - this.HandlePreviewTaskDataMulticast(newPreviewTaskData);
        - this.RequestPVWTaskServer(newPVWTaskData);
```ts
    //推流
    E_StartCut(progress: number): void {
        this.camManagerCache = DirectorCamUtil.PushStreamOnServerAsync(this, UE.EPushStreamMethod.Cut, false, this.camManagerCache)
    }
```
## TsMovableLiveAreaComponent
- TsMovableLiveAreaComponent
##
```ts
/** 使用cmd进入区域跳过加载等待 其他方法不可调用 */
@ufunction.ufunction(ufunction.ServerAPI, ufunction.Reliable)
EnterAreaByCMD(areaUUIDStr: string): void {
let areaManager = this.GetLevelAreaManager();
if (!areaManager) {
return;
}
let area: UE.LiveAreaActor = null;
if (areaUUIDStr != null || areaUUIDStr != "") {
let uuid = new UE.Guid();
if (UE.Guid.Parse(areaUUIDStr, $ref(uuid))) {
area = areaManager.GetLiveArea(uuid);
}
}
if (area == null) {
area = areaManager.GetAllLiveAreas().GetRef(0)
}
if (area == null) {
console.error("no area")
return
}
if (area.UUID.op_Equality(areaManager.CurrentLiveAreaUUID)) {
return
}
let bHasData = false;
let presetId:UE.Guid;
let manager = this.GetManager()
for (let index = 0; index < manager.Config.AreaPresets.Num(); index++) {
const element = manager.Config.AreaPresets.GetRef(index);
if (element.AreaGuid.op_Equality(area.UUID)) {
presetId = element.UUID;
bHasData = true;
break;
}
}
let levelName = UE.GameplayStatics.GetCurrentLevelName(this, true);
if (!bHasData) {
manager.AddAreaPreset( levelName, area.UUID, area.Title)
for (let index = 0; index < manager.Config.AreaPresets.Num(); index++) {
const element = manager.Config.AreaPresets.GetRef(index);
if (element.AreaGuid.op_Equality(area.UUID)) {
presetId = element.UUID;
break;
}
}
}
let viewTarget = areaManager.GetViewTarget(area.UUID)
if (!viewTarget) {
this.AddViewTarget(area.UUID, area.Title);
}
manager.AddConfigLevelSetting(levelName);
this.BeforeSwitchArea_Multicast(manager.CurPresetId);
manager.CurPresetId = presetId;
areaManager.SwitchToLiveArea(area.UUID);
}
}
```