void AttachItemToPoint(Transform point, ItemController item) { SnowstormItem stormEffect = item.GetComponent <SnowstormItem>(); if (stormEffect != null) { stormEffect.enabled = false; } Rigidbody2D body = item.GetComponent <Rigidbody2D>(); body.velocity = Vector2.zero; body.angularVelocity = 0; body.isKinematic = true; item.gameObject.layer = LayerMask.NameToLayer("DefaultOnly"); item.GetComponent <SpriteRenderer>().sortingOrder = 2; item.transform.SetParent(point); item.transform.localPosition = Vector2.zero; item.transform.localRotation = Quaternion.identity; }
void Update() { Collider2D[] colliders = Physics2D.OverlapCircleAll(body.position, circleCollider.radius * Mathf.Max(circleCollider.transform.lossyScale.x, circleCollider.transform.lossyScale.y), 1 << LayerMask.NameToLayer("Missile")); for (int i = 0; i < colliders.Length; i++) { ItemController item = colliders[i].GetComponent <ItemController>(); if (item != null && item.GetComponent <ItemController>().lifeTime > santaHands.ignoreLessLifeTime) { Rigidbody2D missileBody = item.GetComponent <Rigidbody2D>(); if (missileBody != null && item.GetComponent <BoombController>() == null) { Vector2 magnetForse = body.position - missileBody.position; missileBody.AddForce(magnetForse.normalized * magnetPower * Time.fixedDeltaTime); } SnowstormItem stormEffect = missileBody.GetComponent <SnowstormItem>(); if (stormEffect != null && stormEffect.enabled) { stormEffect.enabled = false; } } } }