Browse Source

Fix MultiModifiers not being added to new SceneObjects.

pull/152/head
Adam Johnson 5 years ago
parent
commit
04d1b84849
Signed by: Hoikas
GPG Key ID: 0B6515D6FF6F271E
  1. 14
      korman/exporter/manager.py

14
korman/exporter/manager.py

@ -212,7 +212,19 @@ class ExportManager:
else: else:
name = so.key.name name = so.key.name
return self._keys.get((location, pClass, name), None) key = self._keys.get((location, pClass, name), None)
if key is not None and so is not None:
# Purposefully not checking for plObjInterface -- they should never be shared.
if isinstance(pClass, plModifier):
if key not in so.modifiers:
# We really shouldn't add plSingleModifiers to multiple objects. This may
# potentially cause URU to crash. I'm uncertain though, so we'll just warn
# for now.
if isinstance(pClass, plSingleModifier):
self._exporter().report.warn("Adding SingleModifier '{}' (type: '{}'') to another SceneObject '{}'",
key.name, pClass.__name__[2:], so.key.name)
so.addModifier(key)
return key
def find_create_object(self, pClass, bl=None, name=None, so=None): def find_create_object(self, pClass, bl=None, name=None, so=None):
key = self.find_key(pClass, bl, name, so) key = self.find_key(pClass, bl, name, so)

Loading…
Cancel
Save