P3D-Legacy/P3D/World/Shader.vb

36 lines
1.3 KiB
VB.net

Public Class Shader
Public Position As Vector3
Public Size As Vector3
Public Shader As Vector3
Public StopOnContact As Boolean
Public HasBeenApplied As Boolean = False
Public Sub New(ByVal Position As Vector3, ByVal Size As Vector3, ByVal Shader As Vector3, ByVal StopOnContact As Boolean)
Me.Position = Position
Me.Size = Size
Me.Shader = Shader
Me.StopOnContact = StopOnContact
End Sub
Public Sub ApplyShader(ByVal Entities() As Entity)
For x = 0 To Size.X - 1
For z = 0 To Size.Z - 1
For Each e As Entity In Entities
If StopOnContact = True Then
If CInt(e.Position.X) = x + Position.X And CInt(e.Position.Z) = z + Position.Z And e.Position.Y <= Position.Y Then
e.Shaders.Add(Shader)
End If
Else
If CInt(e.Position.X) = x + Position.X And CInt(e.Position.Z) = z + Position.Z And e.Position.Y <= Position.Y + Size.Y And e.Position.Y >= Position.Y Then
e.Shaders.Add(Shader)
End If
End If
Next
Next
Next
Me.HasBeenApplied = True
End Sub
End Class