diff options
Diffstat (limited to 'object_collection_manager/internals.py')
-rw-r--r-- | object_collection_manager/internals.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/object_collection_manager/internals.py b/object_collection_manager/internals.py index 163e9804..34e66737 100644 --- a/object_collection_manager/internals.py +++ b/object_collection_manager/internals.py @@ -39,6 +39,7 @@ move_active = None layer_collections = {} collection_tree = [] collection_state = {} +qcd_collection_state = {} expanded = set() row_index = 0 max_lvl = 0 @@ -60,6 +61,8 @@ rto_history = { "indirect_all": {}, } +qcd_history = {} + expand_history = { "target": "", "history": [], @@ -131,6 +134,13 @@ class QCDSlots(): raise + def object_in_slots(self, obj): + for collection in obj.users_collection: + if self.contains(name=collection.name): + return True + + return False + def get_data_for_blend(self): return f"{self._slots.__repr__()}\n{self.overrides.__repr__()}" @@ -584,8 +594,9 @@ def get_modifiers(event): return set(modifiers) -def generate_state(): +def generate_state(*, qcd=False): global layer_collections + global qcd_slots state = { "name": [], @@ -608,6 +619,9 @@ def generate_state(): state["holdout"].append(laycol["ptr"].holdout) state["indirect"].append(laycol["ptr"].indirect_only) + if qcd: + state["qcd"] = dict(qcd_slots) + return state |