private void onCollisionStayCallback() { MotorCollision2D col = new MotorCollision2D(); col.Surface |= (m_CollisionInfo.Prev_Above && m_CollisionInfo.Above) ? MotorCollision2D.CollisionSurface.Ceiling : MotorCollision2D.CollisionSurface.None; col.Surface |= (m_CollisionInfo.Prev_Below && m_CollisionInfo.Below) ? MotorCollision2D.CollisionSurface.Ground : MotorCollision2D.CollisionSurface.None; col.Surface |= (m_CollisionInfo.Prev_Left && m_CollisionInfo.Left) ? MotorCollision2D.CollisionSurface.Left : MotorCollision2D.CollisionSurface.None; col.Surface |= (m_CollisionInfo.Prev_Right && m_CollisionInfo.Right) ? MotorCollision2D.CollisionSurface.Right : MotorCollision2D.CollisionSurface.None; if (col.Surface != MotorCollision2D.CollisionSurface.None) { OnMotorCollisionStay2D.Invoke(col); } }
private void onMotorCollisionStay2D(MotorCollision2D col) { if (col.IsSurface(MotorCollision2D.CollisionSurface.Ground)) { onCollisionStayGround(); } if (col.IsSurface(MotorCollision2D.CollisionSurface.Left)) { onCollisionStayLeft(); } if (col.IsSurface(MotorCollision2D.CollisionSurface.Right)) { onCollisionStayRight(); } }
private void onMotorCollisionEnter2D(MotorCollision2D col) { if (col.IsSurface(MotorCollision2D.CollisionSurface.Ground)) { onCollisionEnterGround(); } if (col.IsSurface(MotorCollision2D.CollisionSurface.Ceiling)) { onCollisionEnterCeiling(); } if (col.IsSurface(MotorCollision2D.CollisionSurface.Left)) { onCollisionEnterLeft(); } if (col.IsSurface(MotorCollision2D.CollisionSurface.Right)) { onCollisionEnterRight(); } }