```
.menu-item:active, .channel-menu-link:active {
transition: none !important;
}
```
kanalları sürükleme hızı çok yavaş geliyorsa böyle düzeltebilirsiniz :v
```
using UnityEngine;
public class RightClickMove: MonoBehaviour {
public LayerMask elementLayer; // The layer of the elements that can be moved
private Camera mainCamera;
private bool isMoving = false;
private Vector3 offset;
private Collider objectCollider;
private Transform objectTransform;
private Rigidbody objectRigidbody;
private Vector3 lastPosition;
void Start () {
mainCamera = Camera.main;
objectCollider = GetComponent();
}
void Update () {
// Right-click to start moving
if (Input.GetMouseButtonDown(1)) // Right mouse button
{
RaycastHit hit;
Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, Mathf.Infinity, elementLayer)) {
objectTransform = hit.collider.transform;
if (Vector3.Distance(objectTransform.position, mainCamera.transform.position) > 2) return;
isMoving = true;
objectCollider = hit.collider;
offset = hit.collider.transform.position - transform.position; // Calculate offset for smooth dragging
offset = mainCamera.transform.InverseTransformPoint(hit.collider.transform.position);
objectRigidbody = objectTransform.GetComponent();
lastPosition = hit.collider.transform.position;
}
}
// While holding right-click, move the object
if (isMoving && Input.GetMouseButton(1)) {
Vector3 targetPosition = transform.position + offset; // Set the target position based on raycast
targetPosition = mainCamera.transform.TransformPoint(offset);
if (CanMoveToPosition(targetPosition)) {
lastPosition = objectTransform.position = targetPosition; // Move the object
} else {
objectTransform.position = lastPosition;
}
objectRigidbody.position = targetPosition; // Move the object
if (objectRigidbody) objectRigidbody.velocity = Vector3.zero;
if (objectRigidbody) objectRigidbody.angularVelocity= Vector3.zero;
//objectRigidbody.ResetInertiaTensor();
}
// Release the right mouse button to stop moving
if (Input.GetMouseButtonUp(1)) {
isMoving = false;
}
}
// Check if the new position is free of collisions
private bool CanMoveToPosition (Vector3 position) {
Bounds moveBounds = new Bounds(position, objectCollider.bounds.size);
Collider[] colliders = Physics.OverlapBox(moveBounds.center, moveBounds.extents, Quaternion.identity);
foreach (var collider in colliders) {
if (collider != objectCollider) {
return false;
}
}
return true; // If no collisions were found, we can move
}
}
```