“初始化俯视角工程,带puerts,未编过”

This commit is contained in:
2024-12-01 02:11:25 +08:00
parent 04698dd585
commit 850d76173c
1491 changed files with 271579 additions and 0 deletions
@@ -0,0 +1,57 @@
/*
* Tencent is pleased to support the open source community by making Puerts available.
* Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
* Puerts is licensed under the BSD 3-Clause License, except for the third-party components listed in the file 'LICENSE' which may
* be subject to their corresponding license terms. This file is subject to the terms and conditions defined in file 'LICENSE',
* which is part of this source code package.
*/
#pragma once
#include "CoreMinimal.h"
#include "UObject/GCObject.h"
#include "PuertsNamespaceDef.h"
#ifdef THREAD_SAFE
#if defined(WITH_QJS_NAMESPACE_SUFFIX)
namespace v8_qjs
#else
namespace v8
#endif
{
class Isolate;
}
#endif
namespace PUERTS_NAMESPACE
{
class JSENV_API FObjectRetainer : public FGCObject
{
public:
void Retain(UObject* Object);
void Release(UObject* Object);
void Clear();
virtual void AddReferencedObjects(FReferenceCollector& Collector) override;
virtual ~FObjectRetainer() override;
FORCEINLINE void SetName(FString InName)
{
Name = InName;
}
virtual FString GetReferencerName() const override;
#ifdef THREAD_SAFE
FCriticalSection RetainedObjectsCritical;
#endif
private:
TSet<UObject*> RetainedObjects;
FString Name = TEXT("FObjectRetainer");
};
} // namespace PUERTS_NAMESPACE