В конце концов я нахожу способ использовать GameLiftClient в Unity3d.
Необходимое условие:
- Windows 10
- JetBrainRider , Visual Studio также должна работать
- Поместить «UnityEngine.dll» в C: \ Program Files \ Unity \ Editor \ Data \ Managed \ UnityEngine.dll
- Установить «Время выполнения сценариев»версия "to" .net35 Эквивалент "в настройках проекта вашего проекта Unity3d.
Шаг 1: Загрузите AWS SDK Source для Github и разархивируйте егокуда угодно.
Безопаснее загрузить версию, совместимую с используемым вами GameLift Server SDK.
Шаг 2: Открыть sdk/AWSSDK.Unity.sln
in JetBrain Rider .Visual Studio также должна работать, но у меня нет нужной версии VS, совместимой с решением.
Шаг 3: На панели решений Rider создайте новую папку решения в разделе«Услуги», назовите его «GameLift».Щелкните правой кнопкой мыши папку «GameLift» и выберите «Добавить существующий проект».Во всплывающих окнах найдите и выберите «sdk \ src \ Services \ GameLift \ AWSSDK.GameLift.Net35.csproj».
Теперь решение должно выглядеть следующим образом:
Шаг 4: Щелкните правой кнопкой мыши «AWSSDK.GameLift.Net35.csproj» и выберите «Редактировать AWSSDK.GameLift.Net35.csproj» На панели редактора Rider,измените <ProjectReference Include="..\..\Core\AWSSDK.Core.Net35.csproj"/>
на
<ProjectReference Include="..\..\Core\AWSSDK.Core.Unity.csproj">
<Project>{5A8B25C1-3D58-4BB6-BF7D-77AD818D9EAD}</Project>
<Name>AWSSDK.Core.Unity</Name>
</ProjectReference>
Выше ProjectReferece копируется из любого другого параметра Project, который включен в решение по умолчанию.Не забудьте сохранить файл.
Шаг 5: Щелкните правой кнопкой мыши «AWSSDK.GameLift.Net35.csproj» и выберите «Построить выбранные проекты».
Шаг 6: Перейдите в «sdk \ src \ Services \ GameLift \ bin \ Debug \ net35» или «sdk \ src \ Services \ GameLift \ bin \ Release \ net35», скопируйте все dll, кроме «UnityEngnine.dll», в ваш проект Unity3d.Я помещаю их в 'Assets / AWSSDK'.
Шаг 7: Создайте 'Assets / AWSSDK / src / Core / Resources / awsconfig.xml' с содержанием ниже:
<?xml version="1.0" encoding="utf-8"?>
<aws
region="us-west-1"
correctForClockSkew="true">
</aws>
Шаг 8: Теперь он должен быть в состоянии создать GameLiftClient, используя следующий фрагмент:
Awake()
{
UnityInitializer.AttachToGameObject(gameObject);
AWSConfigs.HttpClient = AWSConfigs.HttpClientOption.UnityWebRequest;
AmazonGameLiftConfig gameLiftConfig = new AmazonGameLiftConfig
{
RegionEndpoint = RegionEndpoint.USWest1
};
m_Client = new AmazonGameLiftClient(
"awsAccessKeyId",
"awsSecretAccessKey",
gameLiftConfig);
}
Не забудьте заменить «awsAccessKey» на настоящий.Также небезопасно жестко кодировать учетные данные AWS в клиенте.Поэтому, пожалуйста, используйте этот фрагмент кода только для целей тестирования.В производственных целях AWS Cognito можно использовать для распространения учетных данных AWS во время выполнения.
Все готово.
Кстати, я инженер из Recreate Games , а не "родной"Англоговорящий человек.Поэтому, пожалуйста, прости мой английский, любые предложения приветствуются.Спасибо:)