// Update is called once per frame public void FindObstacle(string name) { foreach (ObstacleInventory obstacle in ListOfObstacles) { if (obstacle.ObstacleName == name) { OpenPropsMenu installationPoint = PositionOfObstacles.gameObject.GetComponent <OpenPropsMenu>(); if (installationPoint.IsUsed()) { Destroy(installationPoint.AttachedObstacle()); } _obstaclesMenu.SetActive(false); installationPoint.AttachMountedObstacle(Instantiate(obstacle.ObstaclePrefab, PositionOfObstacles.position + Vector3.forward, obstacle.ObstaclePrefab.transform.rotation, Obstacles), name); installationPoint.Used(); PositionOfObstacles.gameObject.GetComponent <Renderer>().material.color = new Color(0.5f, 0.5f, 0.5f, 0.5f); } else if (name == "Notype") { OpenPropsMenu installationPoint = PositionOfObstacles.gameObject.GetComponent <OpenPropsMenu>(); if (installationPoint.IsUsed()) { Destroy(installationPoint.AttachedObstacle()); } _obstaclesMenu.SetActive(false); installationPoint.AttachMountedObstacle(null, "Notype"); installationPoint.UnUsed(); PositionOfObstacles.gameObject.GetComponent <Renderer>().material.color = new Color(0.5f, 0.5f, 0.5f, 0.5f); } } }