Création d'un objet

## Introduction

Nous allons vous présenter ici de A à Z les étapes de création et de gestion des objets.

## Création d'un objet dans unity

Pour créer un objet dans Unity rien de plus simple:

* Dans l'onglet ***Hierarchy** > **clickDroit** > **CreateEmpty***

dans le dossier correspondant (*Assets/Inventory/Objects/*...) glisser votre objet

* re-nommez votre objet si besoin (*vous pouvez supprimer l'objet sur la scène*)
* Dans l'onglet ***Inspector** > **Add Component** > **New Objects (Script)***

Votre objet est maintenant prêt.

## Variables de l'objet

**Important:** Toute les variables avec X [ 0 ] Y [ 0 ] sont des variables qui permettre de prendre en compte un aléatoire entre 2 variables.

### Basic

**Can Take** [bool]: L'objet peut-il être pris depuis l’environnement 3D? *(non implémenté).*

**Is Dropable** [bool]: L'objet peut-il être jeté dans l’environnement 3D? *(non implémenté).*

**B\_Can Be Used** [bool]: L'objet peut-il être utilisé?

**Name** [string]: Le nom visible dans l'inventaire.

**Description** [string]: Descriptions de l'objet, n'est pas affiché si l'objet est considéré comme **Infected** ou **Rotten**.

**My Type** [enum]: Permet de choisir le type d'objet.

**Weight** [float, float]: Permet de déterminer le poids de l'objet.

**Cur Weight** [float]: Variable pour le script (représente le résultat du random de **Weight** ) *.*

**Rarity** [float]: Rareté de l'objet *(non implémenté).*

**Icon** [img]: Image de l'icone de l'objet.

### Rotten

**Can Rotten** [bool]: L'objet peut-il pourrir?

**Description Rotten** [string]: Descriptions de l'objet, n'est affiché que si l'objet est considéré comme **Rotten**.

**Rotten** [float, float]: Permet de déterminer le niveaux de pourriture de l'objet à sa création.

**Cur Rotten** [float]: Variable pour le script (représente le résultat du random de **Rotten**)*.*

**Rotten Max** [float]: Si le niveaux de **Cur Rotten** le dépasse il est alors considéré comme **Rotten**.

### Infected

**Can Infected** [bool]: L'objet peut-il être infecté?

**Description Infected** [string]: Descriptions de l'objet, n'est affiché que si l'objet est considéré comme **Infected**.

**Infected** [float, float]: Permet de déterminer le niveaux d'infection de l'objet à sa création.

**Cur Infected** [float]: Variable pour le script (représente le résultat du random de **Infected** )*.*

**Infected Max** [float]: Si le niveaux de **Cur Infected**  le dépasse il est alors considéré comme **Infected** .

### Edibles

**Nbr Of Use** [float, float]: Représente le nombres d'utilisations possibles ( chiffres négatifs = infini)

**Nbr Of Use Per Day** [float, float]: représente le nombres d'utilisations possibles par jour ( chiffres négatifs = infini)

**Items Need** [list<Objets>]: Liste d'objet qu'a besoin l'objet courent pour être utilisable (attention les doublons ne servent à riens).

**Items Used** [list<Objets>]: Liste d'objet qu'utilise l'objet courent (attention ne pas mettre lui même et les doublons ne servent à riens).

**Bonus** [ {Stats} ]: Bonus global de l'objet quand il est utilisé (attention sera dans tout les cas appliqué à l'utilisation, même si il est rotten ou infecté)

**Bonus Rotten** [ {Stats} ]: Bonus de l'objet quand il est utilisé et considéré comme **Rotten** (attention tout les bonus activé sont cumulé)**.**

*exemple* *de bonus*: si vous voulez que B**otten** ne rajoute que 12 à **Hunger\_Current** et que **Bonus**>**Hunger\_Current** est égale à 25, **BonusRotten** >**Hunger\_Current** doit être égale à -13.

**Bonus Infected** [ {Stats} ]: Bonus de l'objet quand il est utilisé et considéré comme **Infected** (attention tout les bonus activé sont cumulé)**.**

**Destruced OBJ** [list<float, Objets>]: Liste d'objet qui apparaissent quand l'objet est utilisé (l'**Occurence** représente les chances d’apparition de l'objet en pourcentage, peut être supérieur à 100).

**Temp Bonus**[ {Stats} ]:

**Walk\_Current**, **Stamina\_Current**, **Interact\_Current** et **health\_Current** sont pour le moment modifiable (il est possible d'en rajouter d'autre si besoin).

Random entre **min**[float] et **max**[float] pendant **Time** [float, float, float].