예제 #1
0
    void SolveGravity()
    {
        if (changeDelay > 0)
        {
            changeDelay -= Time.deltaTime;
            return;
        }

        origin = levelSelector.ClosestPlanet(transform.position);

        Vector3 pos = origin - transform.position;

        if (pos.x < 0 && Mathf.Abs(pos.x) > Mathf.Abs(pos.y))
        {
            ChangeRoundedGravity(Vector2.left);
            return;
        }

        if (pos.x > 0 && Mathf.Abs(pos.x) > Mathf.Abs(pos.y))
        {
            ChangeRoundedGravity(Vector2.right);
            return;
        }

        if (pos.y < 0)
        {
            ChangeRoundedGravity(Vector2.down);
            return;
        }

        ChangeRoundedGravity(Vector2.up);
    }