diff --git a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs index 59e469d4b1b00af11e6b785fdf35ab278b33296d..7a254df9032b21c7cbfbfa023e8b856b415bef17 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/FactSpawner.cs @@ -25,7 +25,8 @@ public GameObject Sphere, ActualSphere, Cuboid, - TriangularPrism + TriangularPrism, + Cylinder ; private void OnEnable() @@ -79,6 +80,8 @@ public void SpawnFactRepresentation(Fact fact) SpawnCuboid(cuboidFact); break; case PrismFact prismFact: SpawnTriangularPrism(prismFact); break; + case CylinderFact cylinderFact: + SpawnCylinderFact(cylinderFact); break; default: break; }; } @@ -95,6 +98,18 @@ public void SpawnCuboid(CuboidFact fact){ cuboid.GetComponentInChildren<TextMeshPro>().text = fact.GetLabel(StageStatic.stage.factState) + " = " + System.Math.Round(fact.Volume, 2) + "m³"; } + + public void SpawnCylinderFact(CylinderFact fact){ + + GameObject cylinder = GameObject.Instantiate(Cylinder); + fact.WorldRepresentation = cylinder.GetComponent<FactObject3D>(); + fact.WorldRepresentation.Fact = fact; + + cylinder.transform.SetPositionAndRotation(fact.Position, fact.Rotation); + cylinder.transform.localScale = Vector3.Scale(cylinder.transform.localScale, fact.LocalScale); + + cylinder.GetComponentInChildren<TextMeshPro>().text = fact.GetLabel(StageStatic.stage.factState) + " = " + System.Math.Round(fact.Volume, 2) + "m³"; + } public void SpawnSphere(SphereFact fact){ GameObject sphere = GameObject.Instantiate(ActualSphere);