|
|
@@ -6,6 +6,7 @@ public class PortalsController : MonoBehaviour
|
|
|
{
|
|
|
public PortalsController targetPortal;
|
|
|
public List<Rigidbody> rbs = new List<Rigidbody>();
|
|
|
+ public float TransmitCD;
|
|
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
|
{
|
|
|
@@ -13,31 +14,34 @@ public class PortalsController : MonoBehaviour
|
|
|
if (beSearchTrigger != null)
|
|
|
{
|
|
|
Rigidbody rb = beSearchTrigger.GetComponentInParent<Rigidbody>();
|
|
|
- if(!targetPortal.rbs.Exists(t => t == rb))
|
|
|
- {
|
|
|
- if (!rbs.Exists(t => t == rb))
|
|
|
- {
|
|
|
- rbs.Add(rb);
|
|
|
|
|
|
- Vector3 targetPos = targetPortal.transform.position;
|
|
|
- targetPos.y += rb.transform.position.y - transform.position.y;
|
|
|
- rb.transform.position = targetPos;
|
|
|
- }
|
|
|
- }
|
|
|
+ AddPortal(rb);
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Bullet bullet = other.GetComponent<Bullet>();
|
|
|
+ if(bullet != null)
|
|
|
+ {
|
|
|
+ Rigidbody rb = bullet.GetComponentInParent<Rigidbody>();
|
|
|
|
|
|
-
|
|
|
+ AddPortal(rb);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
- private void OnTriggerExit(Collider other)
|
|
|
+
|
|
|
+ public void AddPortal(Rigidbody rb)
|
|
|
{
|
|
|
- BeSearchTrigger beSearchTrigger = other.GetComponent<BeSearchTrigger>();
|
|
|
- if(beSearchTrigger != null)
|
|
|
+ if (!targetPortal.rbs.Exists(t => t == rb))
|
|
|
{
|
|
|
- Rigidbody rb = beSearchTrigger.GetComponentInParent<Rigidbody>();
|
|
|
- if(targetPortal.rbs.Exists(t => t == rb))
|
|
|
+ if (!rbs.Exists(t => t == rb))
|
|
|
{
|
|
|
- targetPortal.rbs.Remove(rb);
|
|
|
+ rbs.Add(rb);
|
|
|
+
|
|
|
+ Vector3 targetPos = targetPortal.transform.position;
|
|
|
+ targetPos.y += rb.transform.position.y - transform.position.y;
|
|
|
+ rb.transform.position = targetPos;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|