private void AddDoor(Door prefab, int lineId, float positionOnTheLine, float offset, IRoom room) { Vector3 position; Quaternion rotation; GetPositionRotation(lineId, positionOnTheLine, offset, prefab.DefaultOrientation, out position, out rotation); var door = Instantiate(prefab.gameObject, position, rotation, Holder.gameObject.transform).GetComponent <Door>(); var doorPosition = new DoorPosition() { LineId = lineId, PartOfTheLine = positionOnTheLine }; door.RoomTo = room; Holder.AddDoor(door, doorPosition); }