Les propriétés globales sont utilisées pour configurer les paramètres clés de votre application que vous souhaitez pouvoir modifier facilement côté serveur.
Création d'une propriété globale
Cliquez sur le bouton [Créer...] dans le coin supérieur droit de l’écran de liste.
Entrez le nom , la catégorie , le type et la description .
Les valeurs des propriétés peuvent être de simples chaînes ou des objets JSON. Dans les deux cas, les données sont stockées sous forme de chaîne et leur interprétation est laissée au client.
L'indicateur [Préserver la valeur pendant le déploiement] est utilisé pour signaler si la valeur doit être écrasée pendant le déploiement ou non.
Cliquez sur le bouton [Suivant] et passez à l'onglet de saisie de données, placez les données ici pour votre nouvelle propriété globale !
Suggestions de conception
Les propriétés globales utilisant une plage de nombres sont généralement les plus utiles à long terme. Les propriétés globales textuelles ont tendance à perdre de leur utilité au fil du temps.
Convenez à l'avance avec votre développeur si votre valeur sera un flottant, un entier ou un booléen, ou quelque chose de plus complexe.
Regroupez les variables liées avec des catégories pour faciliter la recherche ultérieure des valeurs.
Les concepteurs doivent créer de brèves descriptions qui représentent la manière dont le changement de valeur modifie la sensation du jeu.
Mentionnez une bonne valeur par défaut et une bonne plage dans la description
.
Écrire le code
Maintenant que vous avez configuré ces propriétés globales, vous et votre équipe de développement pourrez utiliser ces variables dans votre application pour modifier les paramètres et le gameplay.
Dans votre code client
Ajoutez le client brainCloud à votre application.
Associez le client au tableau de bord.
Authentifiez votre usager dans brainCloud.
Demandez vos propriétés globales via l'appel API ReadProperties.
Capturez ces propriétés et transmettez-les à la configuration de votre jeu.
void Start() {
// Unity
GameObject go = new GameObject();
_bc = go.AddComponent<BrainCloudWrapper>();
_bc.WrapperName = _wrapperName; // définir éventuellement un nom de wrapper
_bc.Init(); // des données supplémentaires, telles que : _appId, _secret et _appVersion, sont extraites du plugin brainCloud Unity.
DontDestroyOnLoad(go); // conserver l'objet de jeu brainCloud lors des changements de scène
_bc.ResetStoredAnonymousId();
_bc.ResetStoredProfileId();
_bc.AuthenticateAnonymous((response, cbObject) => { CustomAppSetup(); });
}
void CustomAppSetup() {
_bc.GlobalAppService.ReadProperties((response, cbObject) =>
{
var jsonMessage =
(Dictionary<string, object>) BrainCloud.JsonFx.Json.JsonReader.Deserialize(response);
var jsonData = (Dictionary<string, object>) jsonMessage["data"];
var PlayerHPCap = int.Parse(((Dictionary<string, object>) jsonData["PlayerHPCap"])["value"].ToString());
var turntime = int.Parse(((Dictionary<string, object>)jsonData["turntime"])["value"].ToString());
var EnergyStart = int.Parse(((Dictionary<string, object>)jsonData["EnergyStart"])["value"].ToString());
var MaxOnBoard = int.Parse(((Dictionary<string, object>)jsonData["MaxOnBoard"])["value"].ToString());
var PlayerHPStart = int.Parse(((Dictionary<string, object>)jsonData["PlayerHPCap"])["value"].ToString());
var DeckAllowNCopies = int.Parse(((Dictionary<string, object>)jsonData["DeckAllowNCopies"])["value"].ToString());
var deckSize = int.Parse(((Dictionary<string, object>)jsonData["deckSize"])["value"].ToString());
// TODO votre logique de configuration personnalisée pour votre jeu
setupCardGameConfigurations(PlayerHPCap, turntime, EnergyStart, MaxOnBoard, PlayerHPStart, DeckAllowNCopies, deckSize);
});
}