When my camera actor gets inside water volume, it should notify several actors (weather effects manager, wind directional source, post process manager etc). Currently, I can reference only one of them. Is there any way to implement multicast?
Camera collider
event PhysicsVolumeChange(PhysicsVolume NewVolume)
{
If (LZ_Volume_Water(NewVolume) != None && LZ_Volume_Water(NewVolume).VolumePostProcess != None)
{
EnteredWaterVolume(NewVolume);
}
else
{
LeftWaterVolume();
}
}
delegate EnteredWaterVolume(PhysicsVolume V);
delegate LeftWaterVolume();
Weather effects manager OR Wind directional source (same code)
function InitWeatherEffects()
{
BaseActor = Legend_Camera(PC.PlayerCamera).DummyActor;
If (BaseActor != None)
{
// Init camera dummy delegates
BaseActor.EnteredWaterVolume = BaseEnteredWaterVolume;
BaseActor.LeftWaterVolume = BaseLeftWaterVolume;
}
}
function BaseEnteredWaterVolume(LZ_Volume_Water V)
{
bIsInWater = True;
}
function BaseLeftWaterVolume()
{
bIsInWater = False;
}