public void Update() { BattleGameHelper.UnitLayout layout = BattleGameHelper.CalcAllAliveTanksLayout(); if (layout != null) { UpdateCamera(layout); } // Vector3 v = _targetCameraCenter - _cameraCenter; v *= 0.5f; _cameraCenter += v; _mapCamera.cameraControl.FollowPoint(_cameraCenter); // float d = _targetCameraScale - _cameraScale; d *= 0.5f; _cameraScale += d; float expectHeight2 = _mapCamera.cameraControl.sizeControl.expectScreenHeight2 * _cameraScale; _mapCamera.cameraControl.camera.orthographicSize = expectHeight2; }
private void UpdateCamera(BattleGameHelper.UnitLayout layout) { float x = layout.max.x + MapGrid.GRID_SIZE * 2; float z = _game.mapGrid.GetMapHeight() / 2; float y = 0; Vector3 targetCenter = new Vector3(x, y, z); targetCenter.x = Mathf.Max(targetCenter.x, _targetCameraCenter.x); _targetCameraCenter = targetCenter; }
private void UpdateCamera(BattleGameHelper.UnitLayout layout) { Vector3 targetCenter = (layout.min + layout.max) / 2; _targetCameraCenter = targetCenter; float EDGE2 = MapGrid.GRID_SIZE; float width = layout.max.x - layout.min.x + EDGE2; float expectWidth2 = _mapCamera.cameraControl.sizeControl.expectScreenWidth2; float scale = width / 2 / expectWidth2; _targetCameraScale = Mathf.Max(1, scale); }
public void Update() { BattleGameHelper.UnitLayout layout = BattleGameHelper.CalcMyAliveTanksLayout(); if (layout != null) { UpdateCamera(layout); } // Vector3 v = _targetCameraCenter - _cameraCenter; v *= 0.5f; _cameraCenter += v; _mapCamera.cameraControl.FollowPoint(_cameraCenter); }