CollidingObject.OnTriggerEnter2D C# (CSharp) Method

OnTriggerEnter2D() public method

public OnTriggerEnter2D ( Collider2D coll ) : void
coll UnityEngine.Collider2D
return void
    public virtual void OnTriggerEnter2D(Collider2D coll)
    {
        // add neighboring CollidingObjects
        CollidingObject collObj = coll.GetComponent<CollidingObject>();
        if (collObj!=null && !neighbors.Contains(collObj)) {
            neighbors.Add(collObj);

            // align pegs
            this.GetPegOffset(collObj);
            collObj.GetPegOffset(this);
        }

        // handle entering water
        Water water = coll.gameObject.GetComponent<Water>();
        if (water!=null) {
            if (!inwaters.Contains(water)) {
                water.splash.Play();
                inwaters.Add(water);
            }
        }

        // handle attaching
        if (collObj!=null && (attachedTo==null || coll!=attachedTo) && attaching) {
            PhysicsUpdate();
            attachedTo = collObj;
            if (this is PlayerGear && collObj is Gear)
                (collObj as Gear).hasPlayerGear = true;
            isMovable = false;
        }
    }