public ConduitFlowVisualizer(ConduitFlow flow_manager, Game.ConduitVisInfo vis_info, string overlay_sound, Tuning tuning) { flowManager = flow_manager; visInfo = vis_info; overlaySound = overlay_sound; this.tuning = tuning; movingBallMesh = new ConduitFlowMesh(); staticBallMesh = new ConduitFlowMesh(); RenderMeshTask.Ball.InitializeResources(); }
public void Finish(ConduitFlowMesh moving_ball_mesh, ConduitFlowMesh static_ball_mesh, Vector3 camera_pos, ConduitFlowVisualizer visualizer) { for (int i = 0; i != moving_balls.Count; i++) { moving_balls[i].Consume(moving_ball_mesh); } moving_balls.Recycle(); for (int j = 0; j != static_balls.Count; j++) { static_balls[j].Consume(static_ball_mesh); } static_balls.Recycle(); if (visualizer != null) { foreach (ConduitFlow.Conduit moving_conduit in moving_conduits) { visualizer.AddAudioSource(moving_conduit, camera_pos); } } moving_conduits.Recycle(); }
public void Consume(ConduitFlowMesh mesh) { UVPack uVPack = GetUVPack(direction); mesh.AddQuad(pos, color, size, (float)(foreground ? 1 : 0), (float)(highlight ? 1 : 0), uVPack.bl, uVPack.tl, uVPack.br, uVPack.tr); }