Código fuente y escenarios en Winter Starfall
Este tutorial contiene instrucciones para descargar y ejecutar el código fuente de Winter Starfall, y un recorrido por los ejemplos de código que muestran procedimientos recomendados para los escenarios de inicio de sesión y compra.Descarga del código fuente
Requisitos previos
- Instalar Node JS
- Instalar Visual Studio Code
Configuración para el desarrollo local
- Descargue el código fuente desde GitHub.
- En VS Code, abra la carpeta
/websitey acepte instalar todas las extensiones que recomienda. - En el directorio
/website, ejecute npm install para instalar todas las dependencias. - Use
npm run devpara iniciar el sitio. Seleccione el vínculo que ofrece para ver el sitio.
Credenciales de Azure
Para actualizar los secretos AZURE_CREDENTIALS, ejecute este comando en el shell de Azure Portal:az ad sp create-for-rbac --name "VanguardOutrider2" --role contributor --scopes /subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP_NAME --json-auth
Flujo de inicio de sesión
El flujo de autenticación de jugadores en Winter Starfall tiene dos pasos: la llamada de inicio de sesión y las funciones posteriores al inicio de sesión que se usan para obtener la información del jugador desde el servicio y cargarlo en la ubicación correcta de la historia.Autenticación de jugadores
Para la parte de inicio de sesión, el archivo use-login.ts define una función contenedora de TypeScript que gestiona los múltiples métodos de autenticación disponibles para los jugadores. Las líneas 144-169 definen la función de devolución de llamada para iniciar sesión con una dirección de correo electrónico, y llaman a las funciones posteriores al inicio de sesión si este se realiza correctamente.Después del inicio de sesión: Obtención de los datos del jugador
Una vez recuperado el token de seguridad, se usa para ejecutar las funciones posteriores al inicio de sesión y obtener el estado guardado del juego. Las líneas 340-378 definen postLoginFunctions, que llama a varias API de Economy y de PlayFab Services para cargar la ubicación correcta de la historia, los artículos del inventario, la moneda, etc., en función del jugador.- Primero,
ClientGetTitleDataobtiene la clave secreta necesaria para todas las llamadas a la API - Después,
EconomySearchItemsbusca en el catálogo los tipos de moneda y de artículo - Lo que se usa como entrada para
EconomyGetInventoryItemspara devolver los artículos del inventario del jugador - A continuación,
ClientGetUserDatarecupera el valor que almacena la ubicación de la historia como parte de los datos del jugador.
Flujo de compra
En ciertos puntos del juego, el jugador tiene la opción de comprar y vender artículos del inventario en la tienda. El flujo de compra se implementa en otra función contenedora. En el archivo use-store.ts, las líneas 40-69 muestran la tienda correcta que el jugador encuentra en una ubicación específica y rellenan los artículos a la venta buscando en el catálogo.EconomyGetItem se define en use-playfab.ts en las líneas 423-446, dentro de las cuales se usa la API GetItems de PlayFab Economy para buscar en el catálogo y devolver artículos.
PurchaseInventoryItems. Esta se define en use-playfab.ts en las líneas 540-565.
Venta de artículos
El flujo de venta es un ejemplo de cómo usar CloudScript basado en Azure Functions para ampliar la funcionalidad del sistema de economía. SellItem.cs define la función de CloudScript que se ejecuta al vender un artículo. Las líneas 49-61 son donde se usa la APIGetTitleData de PlayFab para devolver el multiplicador de la tienda y calcular el precio de venta.
Para ejecutar Winter Starfall localmente necesitará una cuenta de Azure que admita las funciones de CloudScript. Puede registrarse para obtener una cuenta gratuita de Azure y después seguir las instrucciones anteriores para restablecer correctamente las credenciales de Azure.
Consulte también
- Flujo de inicio de sesión
- Flujo de compra
- Documentación de Economy V2
- Otro buen paso siguiente para obtener más información sobre Economy V2 es probar el tutorial del juego de fabricación, que se centra en crear un juego de ejemplo usando las funciones de tienda e inventario.
