123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #ifndef CRYINCLUDE_EDITOR_DOCMULTIARCHIVE_H
- #define CRYINCLUDE_EDITOR_DOCMULTIARCHIVE_H
- #pragma once
- #include "Util/XmlArchive.h"
- // Segmented World need XML Archive of editor level being split into multiple Archives
- // Because multiArchive is a super set of single archive, Doc can always use it, with or without SW Level
- // so some of the interface functions was written as always using MultiArchive
- // However, to decouple other sandbox interfaces with SW stuff(prevent important header files from being polluted),
- // it's better put it here as a generic implement and be included in both sides
- // the current available slots for MultiArchive
- // used by segmented world code through enum mapping (to EWDBType)
- enum EDocMultiArchiveSlot
- {
- DMAS_GENERAL = 0,
- DMAS_TERRAIN_LAYERS,
- DMAS_VEGETATION,
- DMAS_TIME_OF_DAY,
- DMAS_ENVIRONMENT,
- DMAS_GENERAL_NAMED_DATA,
- DMAS_USER, // Per user data,
- DMAS_COUNT,
- };
- typedef CXmlArchive* TDocMultiArchive [DMAS_COUNT];
- inline void FillXmlArArray(TDocMultiArchive& arrXmlAr, CXmlArchive* pXmlAr)
- {
- for (int i = 0; i < DMAS_COUNT; i++)
- {
- arrXmlAr[i] = pXmlAr;
- }
- }
- inline bool IsLoadingXmlArArray(TDocMultiArchive& arrXmlAr)
- {
- bool bLoading = false;
- for (int i = 0; i < DMAS_COUNT; i++)
- {
- if (arrXmlAr[i])
- {
- bLoading = arrXmlAr[i]->bLoading;
- break;
- }
- }
- return bLoading;
- }
- #endif // CRYINCLUDE_EDITOR_DOCMULTIARCHIVE_H
|