void ADokController::SpawnWall(EWallType Wall, int32 i, int32 j) { FActorSpawnParameters spawnParams; spawnParams.Owner = this; spawnParams.Instigator = Instigator; AActor* SpawnedWall = nullptr; switch (Wall) { case Up: SpawnedWall = GetWorld()->SpawnActor<AActor>(Tile_Wall, FVector((j * 100 - 50) * TileScaling, (i * 100) * TileScaling, 50 * TileScaling), FRotator(90, 0, 0), spawnParams); SpawnedWall->AddActorWorldRotation(FRotator(0, 0, 90)); break; case Left: SpawnedWall = GetWorld()->SpawnActor<AActor>(Tile_Wall, FVector((j * 100) * TileScaling, (i * 100 - 50) * TileScaling, 50 * TileScaling), FRotator(90, 90, 0), spawnParams); SpawnedWall->AddActorWorldRotation(FRotator(90, 0, 0)); break; case Right: SpawnedWall = GetWorld()->SpawnActor<AActor>(Tile_Wall, FVector((j * 100) * TileScaling, (i * 100 + 50) * TileScaling, 50 * TileScaling), FRotator(90, 90, 0), spawnParams); SpawnedWall->AddActorWorldRotation(FRotator(90, 0, 0)); break; case Down: SpawnedWall = GetWorld()->SpawnActor<AActor>(Tile_Wall, FVector((j * 100 + 50) * TileScaling,( i * 100) * TileScaling, 50 * TileScaling), FRotator(90, 0, 0), spawnParams); SpawnedWall->AddActorWorldRotation(FRotator(0, 0, 90)); break; } SpawnedWall->SetActorScale3D(FVector(SpawnedWall->GetActorScale3D().X * TileScaling, SpawnedWall->GetActorScale3D().Y * TileScaling, SpawnedWall->GetActorScale3D().Z * TileScaling)); }