1
Fork 0
mirror of https://github.com/Steffo99/keep-everything-alive.git synced 2024-11-22 09:24:19 +00:00
keep-everything-alive/Assets/Scripts/Generic/FollowMouse.cs

37 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum FollowMouseOptions {
ALWAYS,
ONLY_WHEN_HOLDING_LMB
}
[RequireComponent(typeof(Rigidbody2D))]
public class FollowMouse : MonoBehaviour
{
public Vector2 min;
public Vector2 max;
public FollowMouseOptions options = FollowMouseOptions.ALWAYS;
private new Rigidbody2D rigidbody2D;
void Awake() {
rigidbody2D = GetComponent<Rigidbody2D>();
}
void Start() {
if(options == FollowMouseOptions.ALWAYS) {
Vector3 screenPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.position = new Vector3(Mathf.Clamp(screenPoint.x, min.x, max.x), Mathf.Clamp(screenPoint.y, min.y, max.y), transform.position.z);
}
}
void FixedUpdate()
{
if(options == FollowMouseOptions.ALWAYS || Input.GetMouseButton(0)) {
Vector3 screenPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.position = new Vector3(Mathf.Clamp(screenPoint.x, min.x, max.x), Mathf.Clamp(screenPoint.y, min.y, max.y), transform.position.z);
}
}
}