Я хочу создать список предметов в каждой комнате текстовой приключенческой игры, но я хочу, чтобы у каждого предмета было и название предмета, и описание предмета, поэтому я могу вызвать любую / обе строки дляэлемент в зависимости от того, для чего мне нужен элемент.
Dim StartRoom As RoomInfo
Public Class Items
Public ItemName As String
Public ItemDescription As String
End Class
Public Structure RoomInfo
Dim RoomName As String
Dim BasicDescription As String
Dim RoomDescription As String
Dim ValidExists As List(Of String)
Dim ObjectsInRoom As List(Of String)
Dim ItemsInRoom As List(Of Items)
End Structure
Sub InitializeRooms()
StartRoom.RoomName = "Start Room"
StartRoom.RoomDescription = "Test Description"
StartRoom.BasicDescription = "Test Basic Description"
Dim TestItem As New Items With {
.ItemName = "Test Item",
.ItemDescription = "This is a Test Item"
}
StartRoom.ItemsInRoom.Add(TestItem)
End Sub
Я создал список ItemsInRoom, который представляет собой список Предметов, Класс. Таким образом, каждая комната может иметь уникальный список предметов, которые могут быть изменены, когда игрок поднимает или взаимодействует с ними. Это то, для чего предназначен подпрограмма Initialize Rooms - я могу запустить ее при загрузке игры и настроить всю информацию для каждой комнаты в игре. В любом случае, когда я пытаюсь добавить TestItem в список, я получаю «Ссылку на объект, не установленную для экземпляра объекта». ошибка. Я очень тупой, и это, вероятно, самая очевидная ошибка в книге, но я не могу найти решение для этого конкретного случая. Спасибо за помощь.