Ich würde gerne eine Property von nem anderem Thread in einer anderen Klasse auslesen.
Zurzeit habe ich:
Zurzeit habe ich:
VB.NET-Quellcode
- Class Main
- Dim Chunk As New Dictionary(Of Vector2,Chunk)
- Function GetBlock(Position As Vector2) As Block
- Dim ChunkPos As Vector2 = New Vector2(CSng(Math.Floor(Position.X / 16)), CSng(Math.Floor(Position.Y / 16)))
- If Position.X > 4095 Or Position.X < 0 Then
- Throw New ArgumentOutOfRangeException("Position", "Out of Range(0-4095). X:" & Position.X)
- End If
- If Position.Y > 4095 Or Position.Y < 0 Then
- Throw New ArgumentOutOfRangeException("Position", "Out of Range(0-4095). Y:" & Position.Y)
- End If
- If Chunk.ContainsKey(ChunkPos) Then Return Chunk(ChunkPos).Blocks(Position.X Mod 16, Position.Y Mod 16) Else Throw New Exception("Block not loaded")
- Return New Block(Position)
- End Function
- Private Sub ChunkThread_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles ChunkThread.DoWork
- LoadChunks()
- UnloadChunks()
- Test.T()
- Dim f = GetBlock(New Vector2(2048, 2048)) ' Klappt
- For Each C As Chunk In Chunk.Values.ToArray
- C.Tick()
- Next
- End Sub
- Class Test
- Shared Sub T()
- Dim f = Main.GetBlock(New Vector2(2048, 2048)) ' Klappt nicht
- End Sub
- End Class
- End Class