Demo4 Trading
Examples/Demo4 Trading/TradingDemo.unity
Esta demo muestra transferencia entre distintos modelos, economía y equipamiento con slots fijos en una sola escena.
Qué muestra la demo
- inventario del jugador, inventario del comerciante y slots de equipamiento
- conversión entre distintos modelos de item
- comprobación de precios y dinero durante la transferencia
MappedSlotInventoryDataBindingpara equipamiento
Cómo está estructurada
Datos y economía:
Data/PlayerData.csData/MerchantData.csData/TradingEconomyManager.cs
Adapters y conversión:
Adapters/TradableSoAdapter.csAdapters/TradableItemAdapterModelAdapter.csConverters/ModelItemAdapterConverter.csConverters/MerchantItemAdapterConverter.cs
Bindings:
PlayerInventoryDataBinding.csMerchantInventoryDataBinding.csEquipmentInventoryDataBinding.cs
flowchart LR
MerchantData["MerchantData"] <--> MerchantBinding["MerchantInventoryDataBinding"]
MerchantBinding <--> MerchantUI["Merchant Inventory UI"]
PlayerData["PlayerData"] <--> PlayerBinding["PlayerInventoryDataBinding"]
PlayerData <--> EquipmentBinding["EquipmentInventoryDataBinding"]
MerchantBinding -.- Converters["Converters"]
PlayerBinding -.- Converters
MerchantBinding === Domain["TradingHelper / economy checks"]
PlayerBinding === Domain
PlayerBinding <--> PlayerUI["Player Inventory UI"]
EquipmentBinding <--> EquipUI["Equipment UI"]
Cómo funciona
Compra a un comerciante:
- El drag empieza desde el inventario del comerciante.
- Al soltar, el converter prepara la representación del item para el inventario del jugador.
- La validación comprueba dinero y restricciones de la operación.
- Tras una transferencia exitosa, los bindings actualizan datos del jugador y del comerciante.
- Los efectos secundarios cambian el oro y otros valores relacionados.
Equipamiento:
- El item se arrastra a un slot fijo.
EquipmentInventoryDataBindingcompruebaPrimaryAdaptery elcanDropespecífico de cada slot.- Si tiene éxito, el campo concreto de
PlayerDatase sincroniza con el slot objetivo.
Cuándo usar este ejemplo como base
- necesitas modelos de datos distintos en los lados de una transferencia
- necesitas conversión de items durante la transferencia
- necesitas intercambio correcto entre inventarios con distintos modelos de adapter
- necesitas precios, dinero y comprobaciones durante la transferencia
- necesitas slots fijos encima de un inventario normal
Páginas relacionadas: