public virtual void Awake() { if (nearby == null) { nearby = NearbyDetector.Create(this); } if (body == null) { body = GetComponent <Rigidbody2D>(); } }
public static NearbyDetector Create(SimplePart part) { GameObject go = new GameObject(); go.transform.SetParent(part.transform); // This should be behind the cell part because so that it doesn't // intercept mouse clicks go.transform.localPosition = Vector3.forward; var circ = go.AddComponent <CircleCollider2D>(); circ.isTrigger = true; NearbyDetector detector = go.AddComponent <NearbyDetector>(); detector.owner = part; var body = go.AddComponent <Rigidbody2D>(); //body.gravityScale = 0; body.isKinematic = true; return(detector); }