Пример #1
0
    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;
    }
Пример #2
0
 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;
             }
         }
     }
 }