public VMMultitileGroup GhostCopyGroup(VMMultitileGroup group)
{
var newGroup = CreateObjectInstance(((group.MultiTile) ? group.BaseObject.MasterDefinition.GUID : group.BaseObject.Object.OBJ.GUID), LotTilePos.OUT_OF_WORLD, group.BaseObject.Direction, true);
if (newGroup != null)
{
newGroup.Price = group.Price;
for (int i=0; i < Math.Min(newGroup.Objects.Count, group.Objects.Count); i++) {
newGroup.Objects[i].GhostOriginal = group;
newGroup.Objects[i].SetValue(VMStackObjectVariable.Graphic, group.Objects[i].GetValue(VMStackObjectVariable.Graphic));
newGroup.Objects[i].DynamicSpriteFlags = group.Objects[i].DynamicSpriteFlags;
newGroup.Objects[i].DynamicSpriteFlags2 = group.Objects[i].DynamicSpriteFlags2;
newGroup.Objects[i].SetDynamicSpriteFlag(0, group.Objects[i].IsDynamicSpriteFlagSet(0));
newGroup.Objects[i].PlatformState = group.Objects[i].PlatformState;
if (newGroup.Objects[i] is VMGameObject) ((VMGameObject)newGroup.Objects[i]).RefreshGraphic();
}
}
return newGroup;
}