예제 #1
0
    public void Push(Collider a, Collider b, float offsetLen, Vector2 offsetVect, bool bAtLeft)
    {
        Vector2 offsetPos = offsetLen * offsetVect;

        //Debug.Log("offsetPos:" + offsetPos);

        //if(!a.isObstacle && !b.isObstacle)
        //{
        //	if(bAtLeft)
        //	{
        //		b.AddOffsetPos(offsetPos);
        //	}
        //	else
        //	{
        //		b.AddOffsetPos(-offsetPos);
        //	}
        //}
        // A是障碍
        if (a.isObstacle && !b.isObstacle)
        {
            if (bAtLeft)
            {
                b.AddOffsetPos(offsetPos);
            }
            else
            {
                b.AddOffsetPos(-offsetPos);
            }
        }
        else if (!a.isObstacle && b.isObstacle)
        {
            if (bAtLeft)
            {
                a.AddOffsetPos(-offsetPos);
            }
            else
            {
                a.AddOffsetPos(offsetPos);
            }
        }
    }