初始提交: UE5.3项目基础框架

This commit is contained in:
2025-10-14 11:14:54 +08:00
commit 721d9fd98e
5334 changed files with 316782 additions and 0 deletions

View File

@ -0,0 +1,45 @@
// Copyright 2020-2024 CesiumGS, Inc. and Contributors
#pragma once
#include "UObject/WeakObjectPtrTemplates.h"
#include <memory>
class UCesiumIonServer;
class CesiumIonSession;
DECLARE_MULTICAST_DELEGATE(FCesiumIonServerChanged);
class CESIUMEDITOR_API CesiumIonServerManager {
public:
CesiumIonServerManager() noexcept;
~CesiumIonServerManager() noexcept;
void Initialize();
void ResumeAll();
std::shared_ptr<CesiumIonSession> GetSession(UCesiumIonServer* Server);
std::shared_ptr<CesiumIonSession> GetCurrentSession();
const TArray<TWeakObjectPtr<UCesiumIonServer>>& GetServerList();
void RefreshServerList();
UCesiumIonServer* GetCurrentServer();
void SetCurrentServer(UCesiumIonServer* pServer);
FCesiumIonServerChanged ServerListChanged;
FCesiumIonServerChanged CurrentServerChanged;
private:
void OnAssetAdded(const FAssetData& asset);
void OnAssetRemoved(const FAssetData& asset);
void OnAssetUpdated(const FAssetData& asset);
struct ServerSession {
TWeakObjectPtr<UCesiumIonServer> Server;
std::shared_ptr<CesiumIonSession> Session;
};
TArray<ServerSession> _sessions;
TArray<TWeakObjectPtr<UCesiumIonServer>> _servers;
};