!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / BaseEnv / Utils / BaseEnv_EntityMap.h
blob8e2a67de1c9d87e40d37c089ef0f37578317f1db
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include "BaseEnv/BaseEnv_Prerequisites.h"
7 namespace SchematycBaseEnv
9 typedef TemplateUtils::CDelegate<void (const EntityId)> EntityMapVisitor;
11 class CEntityMap
13 public:
15 void MarkEntityForDestruction(EntityId entityId);
16 void DestroyMarkedEntites();
17 void AddObject(EntityId entityId, const Schematyc2::ObjectId& objectId);
18 void RemoveObject(EntityId entityId);
19 Schematyc2::ObjectId FindObjectId(EntityId entityId) const;
20 Schematyc2::IObject* FindObject(EntityId entityId) const;
21 void VisitEntities(const EntityMapVisitor& visitor);
23 private:
25 typedef std::vector<EntityId> EntityIds;
26 typedef std::unordered_map<EntityId, Schematyc2::ObjectId> EntityObjectIds;
28 EntityIds m_entitiesMarkedForDestruction;
29 EntityObjectIds m_entityObjectIds;