1.0.0-beta Giriş SDK'sına Geçin

Bu rehberde, en yeni güncellemeleri kullanmak için Unity oyununuzu nasıl taşıyacağınız açıklanmaktadır. SDK'yı girin. 1.0.0-beta SDK, önceki 0.0.4 önizlemesi. En kısa sürede önceki önizlemelerden geçiş yapmanız gerekir yardımcı olabilirsiniz. 0.0.4 SDK'sı Mart 2023'e kadar çalışmaya devam edecektir.

Referansları güncelle

Sınıflar, Unity ile adlandırma çakışmalarını önlemek için Play önekini aldı. Şuna benzer bir hata mesajı gördüğünüzde:

hata CS0246: 'InputMatchProvider' tür veya ad alanı adı yapılamadı bulundu (kullanma yönergesi veya bir derleme referansı eksik mi?)

sınıf adına Play ön ekini eklemeniz gerekir. Örneğin, InputMappingProvider, PlayInputMappingProvider olur.

Her Giriş İşlemini güncelle

InputAction, artık bunun yerine PlayInputAction.Create çağrısıyla oluşturuluyor adlandırılmış alanları içeren yeni bir struct oluşturmak için kullanılır.

new InputAction kodunu çağıran kodu bulun:

var driveAction = new InputAction
{
    ActionLabel = "Drive",
    UniqueId = (int)InputEventIds.DRIVE,
    InputControls = new InputControls
    {
        AndroidKeycodes = new[] { AndroidKeyCode.KEYCODE_SPACE }
    }
};

Ve bunun yerine bir PlayInputAction.Create çağrısıyla değiştirin:

var driveAction = PlayInputAction.Create(
    "Drive",
    (int)InputEventIds.DRIVE,
    PlayInputControls.Create(
        new[] { AndroidKeyCode.KEYCODE_SPACE },
        null
    )
);

Her bir Giriş Grubu'nu güncelle

InputAction gibi, InputGroup de artık PlayInputGroup.Create çağrısına sahip .struct

Bu, new InputGroup numaralı telefona yapılan tüm aramaları bulmanız gerektiği anlamına gelir:

var gameInputGroup = new InputGroup
{
    GroupLabel = "Game controls",
    InputActions = new List<InputAction>
    {
        driveAction,
        turboAction,
        openGarageAction,
        openStoreAction
    }
};

Ve bunu, bir PlayInputGroup.Create çağrısıyla değiştirin:

var gameInputGroup = PlayInputGroup.Create(
    "Game controls",
    new List<PlayInputAction>
    {
        driveAction,
        turboAction,
        openGarageAction,
        openStoreAction
    }
);

Giriş Haritası'nı güncelleme

InputMap, yeni bir kod oluşturmak yerine PlayInputMap.Create parametresini de kullanıyor struct.

new InputMap numaralı telefona yapılan aramaları bulun:

return new InputMap
{
    InputGroups = new List<InputGroup>
    {
        gameInputGroup,
        menuInputGroup
    },
    MouseSettings = new MouseSettings
    {
        AllowMouseSensitivityAdjustment = false,
        InvertMouseMovement = false
    }
};

Ve bunun yerine bir PlayInputMap.Create çağrısıyla değiştirin:

return PlayInputMap.Create(
    new List<PlayInputGroup>
    {
        gameInputGroup,
        menuInputGroup
    },
    PlayMouseSettings.Create(false, false)
);

PlayInputMatchClient yöntemlerini yeniden adlandırma

PlayInputMappingClient için RegisterInputMappingProvider, şu şekilde yeniden adlandırıldı: SetInputMappingProvider.

Bu nedenle, RegisterInputMappingProvider numaralı telefona yapılan aramaları bulun:

Input.GetInputMappingClient().RegisterInputMappingProvider(_inputMappingProvider);

Ve bunları bir SetInputMappingProvider çağrısıyla değiştirin:

PlayInputMappingClient inputMappingClient =
    Google.Play.InputMapping.PlayInput.GetInputMappingClient();
inputMappingClient.SetInputMappingProvider(_inputMapProvider);

UnregisterInputMappingProvider, ayrıca şu şekilde yeniden adlandırıldı: ClearInputMappingProvider ve artık daha önce kayıtlı olan InputMappingProvider parametresi kullanılır.

UnregisterInputMappingProvider numaralı telefona yapılan aramaları bulun:

Input.GetInputMappingClient().UnregisterInputMappingProvider(_inputMapProvider);

Ve bunları ClearInputMappingProvider ile değiştirin:

PlayInput.GetInputMappingClient().ClearInputMappingProvider();