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;
}
}