protected override void OnFrameStarted( object source, FrameEventArgs evt )
{
float moveScale;
float waterFlow;
base.OnFrameStarted( source, evt );
if ( evt.StopRendering )
return;
moveScale = 10 * evt.TimeSinceLastFrame;
waterFlow = FLOW_SPEED * evt.TimeSinceLastFrame;
if ( waterNode != null )
{
if ( flowUp )
{
flowAmount += waterFlow;
}
else
{
flowAmount -= waterFlow;
}
if ( flowAmount >= FLOW_HEIGHT )
{
flowUp = false;
}
else if ( flowAmount <= 0.0f )
{
flowUp = true;
}
waterNode.Translate( new Vector3( 0, flowUp ? waterFlow : -waterFlow, 0 ) );
}
if ( input.IsMousePressed( Axiom.Input.MouseButtons.Left ) )
{
float mouseX = (float)input.AbsoluteMouseX / (float)window.Width;
float mouseY = (float)input.AbsoluteMouseY / (float)window.Height;
Ray ray = camera.GetCameraToViewportRay( mouseX, mouseY );
RaySceneQuery r = scene.CreateRayQuery( ray );
foreach ( RaySceneQueryResultEntry re in r.Execute() )
{
if ( re.worldFragment != null )
debugText = re.worldFragment.SingleIntersection.ToString();
}
}
}
}