public override void LateUpdate(float dt) { var plane = new Plane(Vector3.up, new Vector3(0, m_locked_visual_height, 0)); var ray = GetCameraRay(); if (plane.Raycast(ray, out var distance)) { var hit_point = ray.GetPoint(distance); m_cursor.m_target_cursor_position = new Vector3(hit_point.x, m_locked_visual_height, hit_point.z); var cell_size_in_meters = Game.Instance.GetCellSizeInMeters(); hit_point.x += 0.5f * cell_size_in_meters.x; hit_point.z += 0.5f * cell_size_in_meters.z; hit_point.y += 1.05f * cell_size_in_meters.y; var command = new AddLiquidDensityCommand { m_position = hit_point, m_amount = m_flood_rate * Time.deltaTime }; Game.Instance.SendCommand(command); command.Run(); } m_time_till_next_flood_sound -= dt; if (m_time_till_next_flood_sound < 0f) { m_time_till_next_flood_sound = m_cursor_tuning.m_flood_sound_rate; m_cursor.PlaySound(m_cursor_tuning.m_flood_sounds[Random.Range(0, m_cursor_tuning.m_flood_sounds.Length)]); } }
public override void LateUpdate(float dt) { var command = new AddLiquidDensityCommand { m_position = transform.position, m_amount = m_liquid_fill_rate * dt }; Game.Instance.SendCommand(command); command.Run(); }