Aetheria/Assets/Scripts/UI/Menu/MapViewDragHandler.cs
Reinier Vens 81acaf2a47 In Game Input Screen
Implemented saving/loading of custom input settings
Incorporated Input Screen in game
Organized UI scripts into folders
Deleted some unused UI scripts
Reimplemented Fog Blur (by copying modified DoF to assets)
2021-05-08 07:35:16 +01:00

42 lines
1.4 KiB
C#

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static Unity.Mathematics.math;
public class MapViewDragHandler : MonoBehaviour
{
public Camera Camera;
public float Scaling;
public ClickCatcher Background;
private Vector2 _previousPosition;
private bool _isDragging;
void Update()
{
var newPosition = Camera.ScreenToWorldPoint(Input.mousePosition);
if (!Input.GetMouseButton(0)) _isDragging = false;
if (_isDragging) Camera.transform.position -= (Vector3) ((Vector2) newPosition - _previousPosition);
if (Background.PointerIsInside)
{
if (Input.GetMouseButtonDown(0))
{
_previousPosition = newPosition;
_isDragging = true;
}
if (abs(Input.mouseScrollDelta.y) > .01f)
{
var previousPosition = Camera.ScreenToWorldPoint(Input.mousePosition);
Camera.orthographicSize *= 1 + Input.mouseScrollDelta.y * Scaling;
Camera.transform.position -= Camera.ScreenToWorldPoint(Input.mousePosition) - previousPosition;
}
}
}
}