Exemplo n.º 1
0
 private void UpdateCameraPosition(bool smooth = true)
 {
     if (stage == Stage.Start || stage == Stage.Mode)
     {
         camera.SetCenter(0, 0, false);
         camera.SetSize(2.6f, false);
     }
     else if (stage == Stage.Game)
     {
         if (boardView != null && boardView.piecesPool.Count() > 0)
         {
             float xMin, xMax, yMin, yMax;
             boardView.BoardSize(out xMin, out xMax, out yMin, out yMax);
             camera.SetCenter((xMin + xMax) / 2, (yMin + yMax) / 2);
             camera.SetSize(Mathf.Max(Mathf.Max(xMax - xMin, yMax - yMin) * 0.5f + 1f, +5));
         }
         else
         {
             camera.SetCenter(1.558845f, 0);
         }
     }
     else if (stage == Stage.Adventure)
     {
         if (boardView != null)
         {
             float xMin, xMax, yMin, yMax;
             boardView.BoardSize(out xMin, out xMax, out yMin, out yMax);
             camera.SetCenter((xMin + xMax) / 2, (yMin + yMax) / 2, smooth);
             camera.SetSize(Mathf.Max(Mathf.Max(xMax - xMin, yMax - yMin) * 0.5f + 1f, +5), smooth);
         }
     }
     else if (stage == Stage.AdventureMenu)
     {
         float xMin, xMax, yMin, yMax;
         adventureMenu.BoardSize(out xMin, out xMax, out yMin, out yMax);
         camera.SetCenter((xMin + xMax) / 2, (yMin + yMax) / 2);
         camera.SetSize(Mathf.Max(Mathf.Max(xMax - xMin, yMax - yMin) * 0.5f + 1f, +2));
     }
     camera.SetAngle(angle);
 }