Browse Source

display the item to be spawned
given a valid datablock name, use that meshes shape to display the spawnsphere mesh, rather than the default one

AzaezelX 3 years ago
parent
commit
ed33c70a23
1 changed files with 16 additions and 0 deletions
  1. 16 0
      Engine/source/T3D/missionMarker.cpp

+ 16 - 0
Engine/source/T3D/missionMarker.cpp

@@ -433,7 +433,23 @@ void SpawnSphere::unpackUpdate(NetConnection * con, BitStream * stream)
       mSpawnTransform = stream->readFlag();
 
       stream->read(&mSpawnClass);
+
+      String oldSDB = mSpawnDataBlock;
       stream->read(&mSpawnDataBlock);
+      if (oldSDB != mSpawnDataBlock)
+      {
+         ShapeBaseData *spawnedDatablock = dynamic_cast<ShapeBaseData *>(Sim::findObject(mSpawnDataBlock.c_str()));
+         if (spawnedDatablock)
+         {
+            delete mShapeInstance;
+            mShapeInstance = new TSShapeInstance(spawnedDatablock->mShape);
+         }
+         else
+         {
+            delete mShapeInstance;
+            mShapeInstance = new TSShapeInstance(mDataBlock->mShape);
+         }
+      }
       stream->read(&mSpawnName);
       stream->read(&mSpawnProperties);
       stream->read(&mSpawnScript);