vault backup: 2024-08-16 14:19:28
This commit is contained in:
parent
beb8ab2c0c
commit
aa6ce79cc6
@ -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}}},"TsMapEnvironmentLayerManager:EnterLevelArea":{"TsMapEnvironmentLayerManager:EnterLevelArea":{"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}}},"TsMapEnvironmentLayerManager:EnterLevelArea":{"TsMapEnvironmentLayerManager:EnterLevelArea":{"currentFile":{"count":1,"lastUpdated":1721646563688}}},"86.1353986110013":{"86.1353986110013":{"currentFile":{"count":1,"lastUpdated":1722512530872}}},"Multicast":{"Multicast":{"currentFile":{"count":1,"lastUpdated":1723785247956}}}}
|
@ -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);
|
||||
}
|
||||
}
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user