You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
/*
|
|
* 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
|