Пример #1
0
    private void AddCheckpoint()
    {
        var targetPosition = GetNearestRoom(transform.position);

        var screenWidth    = 2 * cameraMovement.cameraWidth;
        var screenHeight   = 2 * cameraMovement.cameraHeight;
        var originPosition = targetPosition;

        if (fromTop)
        {
            originPosition += new Vector2(0, screenHeight);
        }
        else if (fromLeft)
        {
            originPosition += new Vector2(-screenWidth, 0);
        }
        else if (fromRight)
        {
            originPosition += new Vector2(screenWidth, 0);
        }
        else if (fromBottom)
        {
            originPosition += new Vector2(0, -screenHeight);
        }

        var key = new CheckpointKey(targetPosition.x, targetPosition.y, originPosition.x, originPosition.y);

        checkpoints.Add(key, transform.position);
    }
Пример #2
0
    public static Vector2 GetCurrentCheckpoint(float targetX, float targetY, float originX, float originY)
    {
        var key = new CheckpointKey(targetX, targetY, originX, originY);

        return(checkpoints[key]);
    }