mirror of
https://github.com/nothke/quality-control.git
synced 2024-11-12 22:03:42 +00:00
27 lines
652 B
C#
27 lines
652 B
C#
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
public class Magnet : MonoBehaviour
|
||
|
{
|
||
|
Rigidbody _rb;
|
||
|
Rigidbody rb { get { if (!_rb) _rb = GetComponent<Rigidbody>(); return _rb; } }
|
||
|
|
||
|
public float strength = 100;
|
||
|
|
||
|
private void OnTriggerStay(Collider other)
|
||
|
{
|
||
|
var otherRb = other.attachedRigidbody;
|
||
|
|
||
|
if(otherRb)
|
||
|
{
|
||
|
Vector3 dir = otherRb.position - rb.position;
|
||
|
float dirSq = Vector3.SqrMagnitude(dir);
|
||
|
float force = strength * (1.0f / dirSq);
|
||
|
|
||
|
otherRb.AddForce(-dir * force);
|
||
|
rb.AddForce(dir * force);
|
||
|
}
|
||
|
}
|
||
|
}
|