//After the objects have all moved, clamp the object to the screen void LateUpdate() { switch (m_AxisToClamp) { case Axis.X: transform.position = new Vector3(Camera2D.ClampToCameraView(gameCamera, m_Renderer.bounds).x, transform.position.y, transform.position.z); break; case Axis.Y: #if GAMEEYE2D_XZ transform.position = new Vector3(transform.position.x, transform.position.y, Camera2D.ClampToCameraView(gameCamera, m_Renderer.bounds).z); #else transform.position = new Vector3(transform.position.x, Camera2D.ClampToCameraView(gameCamera, m_Renderer.bounds).y, transform.position.z); #endif break; //In any other state (including XY or an error), clamp both X and Y axis. default: transform.position = Camera2D.ClampToCameraView(gameCamera, m_Renderer.bounds); break; } }