Services
Les services dans SquidCore permettent une abstraction entre implémentation et définition de certain concept clé
Les suivants sont actuellement inclus par défaut dans la partie commune:
AnalyticsService
Les suivants sont actuellement inclus par défaut dans la partie bukkit:
ChatService (permettant l'envoie vers uuid, server, template ou bien canal)
EconomyService (permet le dépot, retrait et l'obtention d'un compte, et le formattage d'une solde)
CustomEconomyService (extend EconomyService, ajoute un paramètre "currency")
MailboxService (La mailbox de l'infrastructure, stock les items des joueurs si ils sont hors ligne)
PromptService (permet de demander une réponse à un joueur à une question)
SchematicService (permet de placer des schématics ou de vérifier si une schématic est valide)
SlimeWorldService (permet de communiquer avec la partie Slime de PaperSquid)
TeleportationService (permet la téléportation de joueur vers une location universelle (ou network/template))
Accéder à un service
Tout les services sont enregistrés via le PlatformServiceHandler
Ce dernier propose d'obtenir un Wrapper au service demandé qui sera actualisé automatiquement dés lors qu'il est changé
Un exemple de code donnerais:
Implémenter et définir un service
Pour implémenter un service, rien de plus simple.
Implémenter le service souhaité dans une classe.
Une fois fait, vous devez le communiquer au PlatformServiceHandler
Les services implémentants d'autre service
Si un service B (ex CustomEconomyService) dépend d'un autre service A (EconomyService),
le PlatformServiceHandler définira automatiquement les implémentations de service B en tant qu'implémentations de A aussi.