JPPackLoader

JPPackLoader

Outil pour charger dans vos jeux les packs disponibles sur ce site
Version : 1.6
Prix : Gratuit

Téléchargements

Liste des modifications

v1.6

  • Optimized for ShiVa 1.9.2

v1.5

  • onLoadPack parameters changed: "onLoadPack" ( sPackName, sPackURI )
  • You can now know what packs have been loaded by using the new JPPackLoader table: application.getCurrentUserAIVariable ( "JPPackLoader", "tLoadedPacks" )

v1.4

  • Fixed a bug with custom local paths

v1.3

  • It is now possible to use a custom path to load the local packs, thanks to this new handler (must be called before onLoadLocalPacks): "onSetLocalPath" ( sPath )

v1.2

  • The process to find the local packs is now more accurate.

v1.1

  • New handler "onLoadLocalPacks" to automatically load all of the local packs. Very useful when adding a new pack or if a new version of a pack is available: nothing to do change in the code!
  • Fixed an issue when downloading a distant pack with "onLoadPack"

API

user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadLocalPacks" ) user.sendEventImmediate ( hUser, "JPPackLoader", "onSetLocalPath", sPath ) user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadPack", sPackName, sPackURI ) user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadPacksEnd" ) --User notification events: "onPacksLoadingDidEnd"

Description

JPPackLoader est un AIModel qui va vous permettre de charger des fichiers .stk dans vos jeux. Il vous sera utile pour tous les packs proposés ci-dessous.

Une fois l'AIModel ajouté à votre jeu, la démarche pour ajouter un pack à votre jeu est la suivante :

  • Ajouter les fichiers .stk que vous voulez charger à la racine de votre projet ShiVa.
  • Envoyez un évènement à JPPackLoader afin qu'il charge les packs.
  • Activez vos packs.

Voici un exemple de chargement et d'activation, avec le pack JPAnimation (qui doit avoir été placé dans le dossier racine de votre projet) :

local hUser = application.getCurrentUser ( ) user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadLocalPacks" ) JPAnimation.activate ( "", "" )

Notez que si le pack est stocké localement, vous pouvez utiliser le pack directement car il est chargé instantanément lors de l'appel à "onLoadLocalPacks". Cepdendant, certains jeux pourraient nécessiter de stocker sur un serveur distant, donc le pack doit être télécharger et ce processus peut prendre plusieurs trames. JPPackLoader est capable de le faire, ce qui va alors consister en 2 étapes : la requête de téléchargement que vous allez faire à JPPackLoader, et le message de retour qu'il va vous renvoyer quand tous les packs seront téléchargés et prêt à être utilisés. Voici la démarche à suivre :

local hUser = application.getCurrentUser ( ) user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadPack", "JPAnimation", sUrl ) --Parameters are and --Do the same to request the download of any other pack here user.sendEventImmediate ( hUser, "JPPackLoader", "onLoadPacksEnd" ) --Tell JPPackLoader that all the download requests have been made to allow it to send the callback event when they all are downloaded

Il suffit d'ajouter la commande "onLoadPacksEnd" afin d'informer JPPackLoader que toutes les demandes de chargement ont été effectuées. JPPackLoader va procéder à leur téléchargement et vous avertira lorsqu'ils seront tous chargés, via le handler "onPacksLoadingDidEnd". C'est suite à cet évènement que vous pourrez commencer à utiliser vos packs, à commencer par leur activation :

function MyAIModel.onPacksLoadingDidEnd ( ) JPAnimation.activate ( "", "" ) end