// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #include "Engine/Threading/Task.h" class Asset; class LoadingThread; /// /// Describes content loading task object. /// class ContentLoadTask : public Task { friend LoadingThread; public: /// /// Describes work result value /// DECLARE_ENUM_5(Result, Ok, AssetLoadError, MissingReferences, LoadDataError, TaskFailed); protected: virtual Result run() = 0; public: // [Task] String ToString() const override; protected: // [Task] void Enqueue() override; bool Run() override; };