// Use this for initialization void Start() { sr = GetComponent <SpriteRenderer>(); mo = GetComponent <MagenetedObject>(); r2d = GetComponent <Rigidbody2D>(); mage = GetComponentInChildren <Magenet>(); circleCollider = GetComponent <CircleCollider2D>(); }
// Use this for initialization void Start() { sr = GetComponent <SpriteRenderer>(); mo = GetComponent <MagenetedObject>(); r2d = GetComponent <Rigidbody2D>(); mage = GetComponentInChildren <Magenet>(); circleCollider = GetComponent <CircleCollider2D>(); jump = GetComponentInChildren <IsJump>(); //sr = GetComponentInChildren<SpriteRenderer>(); //mo = GetComponentInChildren<MagenetedObject>(); //r2d = GetComponent<Rigidbody2D>(); //mage = transform.GetChild(0).GetComponentInChildren<Magenet>(); //contralor = FindObjectOfType<GameContralor>(); //jump = transform.GetChild(0).GetComponentInChildren<IsJump>(); }
//OnTriggerStay2D void OnTriggerStay2D(Collider2D collider) { if (collider.gameObject.layer == 10 || collider.gameObject.layer == 9) { MagenetedObject mo = collider.gameObject.GetComponent <MagenetedObject>(); int dic = mo.maganet == cc.GetComponent <MagenetedObject>().maganet? -1:1; if (cc.GetComponent <MagenetedObject>().maganet == MagenetedObject.Maganet.None || mo.maganet == MagenetedObject.Maganet.None) { dic = 0; } Vector2 direct = (mo.transform.position - cc.transform.position).normalized; if (collider.gameObject.layer == 10) { cc.GetComponent <Rigidbody2D>().AddForce(direct * dic * mo.MaxFroce * (Vector2.Distance(cc.transform.position, mo.transform.position)) / 5); } else if (collider.gameObject.layer == 9) { cc.GetComponent <Rigidbody2D>().AddForce(direct * dic * mo.MaxFroce); } } }