예제 #1
0
    public CardScriptableObject GetCSVData()
    {
        CardScriptableObject cardScriptableObject = new CardScriptableObject();

        StreamReader sr        = new StreamReader(Application.dataPath + "/" + path + "/" + csvName);
        bool         isFirst   = true;
        bool         endOfFile = false;

        while (!endOfFile)
        {
            string data_String = sr.ReadLine();
            if (data_String == null)
            {
                endOfFile = true;
                break;
            }
            var data_values = data_String.Split(',');
            if (isFirst == true)
            {
                isFirst = false;
            }
            else
            {
                CardData nCardData = new CardData();
                nCardData.cardName        = data_values[0];
                nCardData.cardImageName   = data_values[1];
                nCardData.cardPos         = int.Parse(data_values[2]);
                nCardData.usedTime        = data_values[3];
                nCardData.cardInitialName = data_values[4];
                cardScriptableObject.cardDataList.Add(nCardData);
            }
        }
        return(cardScriptableObject);
    }
예제 #2
0
    public void SetCardInfo(CardScriptableObject card)
    {
        id        = card.Id;
        cardImage = card.CardImage;

        image.sprite = cardImage;
    }
예제 #3
0
    public void RemoveCard(CardScriptableObject card, string place)
    {
        List <CardScriptableObject> placeEvents = EventPlace(place);
        CardScriptableObject        removedCard;

        for (int i = 0; i < placeEvents.Count; i++)
        {
            if (card._firstCardOfEvent == placeEvents[i])
            {
                removedCard = placeEvents[i];
                if (place == "_circus")
                {
                    cirqueEvents.Remove(removedCard);
                }
                else if (place == "_balade")
                {
                    baladeEvents.Remove(removedCard);
                }
                else if (place == "_restaurant")
                {
                    restaurantEvents.Remove(removedCard);
                }
                else if (place == "_animalerie")
                {
                    animalerieEvents.Remove(removedCard);
                }

                break;
            }
        }
    }
    // When player swipes left
    public void GoLeft()
    {
        if (_firstCardScriptable.isLinkedIn == false)
        {
            if (!_isAContrat)
            {
                if (_firstCardScriptable._canSlideLeft)
                {
                    if (_firstCardScriptable._enumObjectToUnlockLeft.ToString() != "none")
                    {
                        UnlockObject(_firstCardScriptable._enumObjectToUnlockLeft);
                    }
                    if (_firstCardScriptable._enumSuccessLeft.ToString() != "none")
                    {
                        succesManager.UnlockSuccess(_firstCardScriptable._enumSuccessLeft);
                    }
                }



                if (_firstCardScriptable._isEndingEvent)// && (_firstCardScriptable._enumDirectpionSwipeString == "_swipeLeft"|| _firstCardScriptable._enumDirectpionSwipeString == ""))
                {
                    //Debug.Log("enterTheWay");
                    if (_firstCardScriptable._eventCanBePlayOne)
                    {
                        eventManager.RemoveCard(_firstCardScriptable, _firstCardScriptable._placeEnum.ToString());
                    }
                    _nextCardLeft = eventManager.LoadNewEvent(_firstCardScriptable._placeEnum.ToString());
                    //Debug.Log(_firstCardScriptable._placeEnum.ToString());
                }


                _firstCardScriptable = _nextCardLeft;
                if (!_isADeadCard)
                {
                    LoadValueFromScriptableObject();
                }

                else
                {
                    // Death(); just for proto
                    FindObjectOfType <SaveAndLoad>().SavePlayer();
                    SceneManager.LoadScene("MenuModifVic");
                    FindObjectOfType <SaveAndLoad>().LoadPlayer();
                }

                canSlideUp = false;
            }
            else
            {
                AfterContrat();
            }
        }
        else
        {
            _firstCardScriptable = _firstCardScriptable._isNextCardLinkedIn;
            LoadValueFromScriptableObject();
        }
    }
예제 #5
0
    public void SaveCardData()
    {
        CardScriptableObject saveCardSOFile = new CardScriptableObject();

        foreach (var cardData in cardDataList)
        {
            saveCardSOFile.cardDataList.Add(cardData);
        }
        string nJson = jsonController.ObjectToJson <CardScriptableObject>(saveCardSOFile);

        jsonController.CreateJsonFile(jsonFilePath, jsonFileName, nJson);
        //scriptableObjectUtility.CreateAsset<CardScriptableObject>(saveCardSOFile);
    }
 void OnValidate()
 {
     if (GetComponent <ImageArborescence>())
     {
         _cardID    = GetComponent <ImageArborescence>()._cardID;
         objectName = _cardID.name;
     }
     else if (GetComponent <TextMeshProUGUI>())
     {
         objectName = "Groupe : " + GetComponent <TextMeshProUGUI>().text;
     }
     gameObject.name = objectName;
 }
    public void GoUp()
    {
        if (_firstCardScriptable.isLinkedIn == false)
        {
            if (_firstCardScriptable._canSlideUp)
            {
                if (_firstCardScriptable._enumObjectToUnlockUp.ToString() != "none")
                {
                    UnlockObject(_firstCardScriptable._enumObjectToUnlockUp);
                }
                if (_firstCardScriptable._enumSuccessUp.ToString() != "none")
                {
                    succesManager.UnlockSuccess(_firstCardScriptable._enumSuccessUp);
                }
            }
            if (_firstCardScriptable._isEndingEvent)
            {
                if (_firstCardScriptable._eventCanBePlayOne)
                {
                    eventManager.RemoveCard(_firstCardScriptable, _firstCardScriptable._placeEnum.ToString());
                }
                _nextCardUp = eventManager.LoadNewEvent("_balade");
            }

            if (_firstCardScriptable.name == "Card_Trapezist_NetCut")
            {
                FindObjectOfType <InventoryList>()._inventory[2]._hasThisObject = false;
            }
            _firstCardScriptable = _nextCardUp;

            if (!_isADeadCard)
            {
                LoadValueFromScriptableObject();
            }

            else
            {
                if (_firstCardScriptable._enumSuccessDeath.ToString() != "none")
                {
                    succesManager.UnlockSuccess(_firstCardScriptable._enumSuccessUp);
                }
                //Death(); for the proto
            }
            canSlideUp = false;
        }
        else
        {
            Application.OpenURL(_firstCardScriptable.url);
        }
    }
예제 #8
0
    public CardScriptableObject LoadNewEvent(string place)
    {
        List <CardScriptableObject> placeEvents = EventPlace(place);
        CardScriptableObject        theNextCard = null;
        int x = Random.Range(0, placeEvents.Count);

        theNextCard = placeEvents[x];
        Debug.Log(placeEvents.Count);
        Debug.Log(place);
        Debug.Log(theNextCard.name);
        Debug.Log(card._firstCardScriptable._firstCardOfEvent.name);
        while (theNextCard == card._firstCardScriptable._firstCardOfEvent && placeEvents.Count > 1)
        {
            x           = Random.Range(0, placeEvents.Count);
            theNextCard = placeEvents[x];
        }
        return(theNextCard);
    }
예제 #9
0
    public void ChangeFont(CardScriptableObject card)
    {
        for (int i = 0; i < card._description.Length; i++)
        {
            char test = card._description[i];

            Debug.Log(char.IsLetter(test));
            if (char.IsLetter(test))
            {
                Checkpoint(card, test, i);
                break;
            }
            else
            {
                continue;
            }
        }
    }
    // public List<CardScriptableObject> cardsPlace;



    public void CreateCards()
    {
        foreach (DataSheetTypes.Test card in DataSheet.test)
        {
            bool create = true;
            for (int i = 0; i < cards.Count; i++)
            {
                if (card.name == cards[i].name)
                {
                    create = false;
                    break;
                }
            }
            if (create)
            {
                if (!Directory.Exists("Assets/TheCards/" + card.place + "/" + card._event))
                {
                    //if it doesn't, create it
                    Directory.CreateDirectory("Assets/TheCards/" + card.place + "/" + card._event);
                }
                CardScriptableObject asset = ScriptableObject.CreateInstance <CardScriptableObject>();

#if UNITY_EDITOR
                AssetDatabase.CreateAsset(asset, "Assets/TheCards/" + card.place + "/" + card._event + "/" + card.name + ".asset");
                AssetDatabase.SaveAssets();

                EditorUtility.FocusProjectWindow();

                Selection.activeObject = asset;
#endif
                //cards.Add(asset);
                //if(card.iD!=cards.Count-1)
                //{
                cards.Insert(card.iD, asset);
                //}
            }
        }
        Update();
#if UNITY_EDITOR
        EditorUtility.SetDirty(this);
#endif
    }
예제 #11
0
    public void SetCardData(int stateNum)
    {
        DataState            state           = (DataState)stateNum;
        CardScriptableObject csvSOFile       = csvReader.GetCSVData();
        List <CardData>      csvCardDataList = csvSOFile.cardDataList;
        //CardScriptableObject saveSOFile = scriptableObjectUtility.GetAssetData<CardScriptableObject>();
        CardScriptableObject saveSOFile       = jsonController.LoadJsonFile <CardScriptableObject>(jsonFilePath, jsonFileName);
        List <CardData>      saveCardDataList = null;

        if (saveSOFile != null)
        {
            saveCardDataList = saveSOFile.cardDataList;
        }
        else
        {
            state = DataState.State_NewData;
        }


        switch (state)
        {
        case DataState.State_NewData:
            cardDataList = csvCardDataList;
            break;

        case DataState.State_SaveData:
            cardDataList = csvCardDataList;
            foreach (var saveCardData in saveCardDataList)
            {
                foreach (var cardData in cardDataList)
                {
                    if (cardData.cardName == saveCardData.cardName)
                    {
                        cardData.cardPos  = saveCardData.cardPos;
                        cardData.usedTime = saveCardData.usedTime;
                    }
                }
            }
            break;
        }
    }
    public void UpdateList()
    {
        foreach (DataSheetTypes.Test card in DataSheet.test)
        {
            bool update = false;
            CardScriptableObject change = null;
            for (int i = 0; i < cards.Count; i++)
            {
                if (card.name == cards[i].name)
                {
                    update = true;
                    change = cards[i];
                    break;
                }
            }
            if (update)
            {
                change._enumObjectConditionList.Clear();

                if (card.unlockUpNbrObject > 0)
                {
                    for (int i = 0; i < card.unlockUpNbrObject; i++)
                    {
                        Debug.Log("change");
                        if (i == 0)
                        {
                            change._enumObjectConditionList.Add((EnumListObject._objectList)Enum.Parse(typeof(EnumListObject._objectList), card.firstObject));
                        }
                        else
                        {
                            change._enumObjectConditionList.Add((EnumListObject._objectList)Enum.Parse(typeof(EnumListObject._objectList), card.secondObject));
                        }
                    }
                }
#if UNITY_EDITOR
                EditorUtility.SetDirty(change);
#endif
            }
        }
    }
    void Start()
    {
        if (TimeChecker.isTuto)
        {
            originalCard         = _firstCardScriptable;
            _firstCardScriptable = tutoCard;
        }
        else
        {
            originalCard = _firstCardScriptable;
        }

        paternVibrationDeath[3] = 200;
        paternVibrationDeath[2] = 100;
        paternVibrationDeath[1] = 75;
        paternVibrationDeath[0] = 50;
        audioManager            = FindObjectOfType <AudioManager>();
        succesManager           = FindObjectOfType <SuccesManager>();
        eventManager            = FindObjectOfType <EventManager>();

        LoadValueFromScriptableObject();
    }
예제 #14
0
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine(LoadTextureFromServer("https://picsum.photos/250/200"));

        if (CardInfoChoose == -1)
        {
            CardInfoChoose = UnityEngine.Random.Range(0, 5);
        }
        CardInfo = CardInfoList[CardInfoChoose];
        if (CardInfo)
        {
            if (cardNameText)
            {
                cardNameText.text = CardInfo.cardName;
            }
            if (descriptionText)
            {
                descriptionText.text = CardInfo.description;
            }
            if (damageText)
            {
                damageText.text = CardInfo.damage.ToString();
                damageValue     = CardInfo.damage;
            }
            if (healthText)
            {
                healthText.text = CardInfo.health.ToString();
                healthValue     = CardInfo.health;
            }
            if (manaText)
            {
                manaText.text = CardInfo.mana.ToString();
                manaValue     = CardInfo.mana;
            }
            //if (image)
            //  image.sprite = CardInfo.image;
        }
    }
예제 #15
0
    void Checkpoint(CardScriptableObject card, char test, int number)
    {
        for (int i = 0; i < card._description.Length; i++)
        {
            list.Add(card._description[i]);
        }

        list[number]      = test;
        _textMeshPro.text = "";


        for (int i = 0; i < list.Count; i++)
        {
            if (i != number)
            {
                _textMeshPro.text += list[i];
            }
            else
            {
                _textMeshPro.text += "<font=\"gothic_ultra_ot_SDF\">" + "<size=200%>" + "<b>" + test + "</b>" + "</size>" + "</font>";
            }
        }
        list.Clear();
    }
    // When player swipes right
    public void GoRight()
    {
        if (_firstCardScriptable.isLinkedIn == false)
        {
            if (!_isAContrat)
            {
                if (_firstCardScriptable._canSlideLeft)
                {
                    if (_firstCardScriptable._enumObjectToUnlockRight.ToString() != "none")
                    {
                        UnlockObject(_firstCardScriptable._enumObjectToUnlockRight);
                    }
                    if (_firstCardScriptable._enumSuccessRight.ToString() != "none")
                    {
                        succesManager.UnlockSuccess(_firstCardScriptable._enumSuccessRight);
                    }
                }


                // Debug.Log(_isADeadCard);
                if (_firstCardScriptable._isEndingEvent) //&& (_firstCardScriptable._enumDirectpionSwipeString == "_swipeRight" || _firstCardScriptable._enumDirectpionSwipeString == ""))
                {
                    if (_firstCardScriptable._eventCanBePlayOne)
                    {
                        eventManager.RemoveCard(_firstCardScriptable, _firstCardScriptable._placeEnum.ToString());
                    }
                    _nextCardRight = eventManager.LoadNewEvent("_balade");

                    if (!_isADeadCard)
                    {
                    }
                }



                _firstCardScriptable = _nextCardRight;

                if (!_isADeadCard)
                {
                    LoadValueFromScriptableObject();
                    // Debug.Log("gotRight");
                }
                else
                {
                    //Death(); just for proto
                    FindObjectOfType <SaveAndLoad>().SavePlayer();
                    _firstCardScriptable = originalCard;
                    particulesSlot.SetActive(false);
                    LoadValueFromScriptableObject();
                    InventoryList inventory = FindObjectOfType <InventoryList>();
                    for (int i = 0; i < inventory._inventory.Count; i++)
                    {
                        inventory._inventory[i]._hasThisObject = false;
                    }
                }

                canSlideUp = false;
            }
            else
            {
                AfterContrat();
            }
        }
        else
        {
            _firstCardScriptable = _firstCardScriptable._isPreviousCardLinkedIn;
            LoadValueFromScriptableObject();
        }
    }
    public void Update()
    {
        //cardsPlace = cards;
        //cards.Clear();

        foreach (DataSheetTypes.Test card in DataSheet.test)
        {
            bool update = false;
            CardScriptableObject change = null;

            for (int i = 0; i < cards.Count; i++)
            {
                if (card.name == cards[i].name)
                {
                    update = true;
                    change = cards[i];
                    break;
                }
            }
            if (update)
            {
                change._title = card.titreCarte;
#if UNITY_EDITOR
                change._image = (Sprite)AssetDatabase.LoadAssetAtPath("Assets/AssetsGraphiques/Cards_Game/" + card.sprite + ".png", typeof(Sprite));
#endif
                change._description = card.description;
                change._placeEnum   = (EnumPlaceGame._enumPlace)Enum.Parse(typeof(EnumPlaceGame._enumPlace), card.place);
                change._cardID      = card.iD;
                if (card.mort)
                {
                    change._isDeadCard       = card.mort;
                    change._enumSuccessDeath = (EnumSuccess._enumSuccess)Enum.Parse(typeof(EnumSuccess._enumSuccess), card.successIfDie);
                }
                else
                {
                    if (card.canSlideUp)
                    {
                        change._canSlideUp             = card.canSlideUp;
                        change._isSwipingUpDescription = card.upSlideText;
                        if (card.upSuccesUnlock != "")
                        {
                            change._enumSuccessUp = (EnumSuccess._enumSuccess)Enum.Parse(typeof(EnumSuccess._enumSuccess), card.upSuccesUnlock);
                        }
                        if (card.upObjectUnlock != "")
                        {
                            change._enumObjectToUnlockUp = (EnumListObject._objectList)Enum.Parse(typeof(EnumListObject._objectList), card.upObjectUnlock);
                        }
                        if (card.upCardID != 0)
                        {
                            change._isNextCardUp = cards[card.upCardID];
                        }
                        else
                        {
                            change._isNextCardUp = change;
                        }
                    }

                    //LEFT//
                    change._canSlideLeft             = true;
                    change._isSwipingLeftDescription = card.leftSlideText;
                    if (card.leftSucessUnlock != "")
                    {
                        change._enumSuccessLeft = (EnumSuccess._enumSuccess)Enum.Parse(typeof(EnumSuccess._enumSuccess), card.leftSucessUnlock);
                    }
                    if (card.leftObjectUnlock != "")
                    {
                        change._enumObjectToUnlockLeft = (EnumListObject._objectList)Enum.Parse(typeof(EnumListObject._objectList), card.leftObjectUnlock);
                    }
                    if (card.leftCardID != 0)
                    {
                        Debug.Log(card.leftCardID);
                        change._isNextCardLeft = cards[card.leftCardID];
                    }
                    else
                    {
                        change._isNextCardLeft = change;
                    }
                    //RIGHT//
                    change._canSlideRight             = true;
                    change._isSwipingRightDescription = card.rightSlideText;
                    if (card.rightSucessUnlock != "")
                    {
                        change._enumSuccessRight = (EnumSuccess._enumSuccess)Enum.Parse(typeof(EnumSuccess._enumSuccess), card.rightSucessUnlock);
                    }
                    if (card.rightObjectUnlock != "")
                    {
                        change._enumObjectToUnlockRight = (EnumListObject._objectList)Enum.Parse(typeof(EnumListObject._objectList), card.rightObjectUnlock);
                    }
                    if (card.rightCardID != 0)
                    {
                        change._isNextCardRight = cards[card.rightCardID];
                    }
                    else
                    {
                        change._isNextCardRight = change;
                    }

                    if (card.finishEvent)
                    {
                        change._isEndingEvent     = card.finishEvent;
                        change._eventCanBePlayOne = card.playedOnce;
                        change._firstCardOfEvent  = cards[card.firstOfEventID];
                    }
#if UNITY_EDITOR
                    if (card.hasVFX)
                    {
                        change._specialVFX = (GameObject)AssetDatabase.LoadAssetAtPath("Assets/AssetsGraphiques/" + card.sprite + ".png", typeof(GameObject));
                    }
#endif
                }
#if UNITY_EDITOR
                EditorUtility.SetDirty(change);
#endif
            }
        }
    }
    public override void OnInspectorGUI()
    {
        GUIStyle myStyleBold = new GUIStyle();

        myStyleBold.fontStyle = FontStyle.Bold;

        DrawDefaultInspector();

        CardScriptableObject script = (CardScriptableObject)target;

        if (!script.isLinkedIn)
        {
            GUI.backgroundColor   = script._colorInspector;
            script._isContratCard = EditorGUILayout.Toggle("Is a contract card", script._isContratCard);
            GUI.backgroundColor   = Color.white;
            EditorGUILayout.Space(20);

            if (!script._isContratCard) // if bool is true, show other fields
            {
                GUI.backgroundColor = script._colorInspector;
                script._isDeadCard  = EditorGUILayout.Toggle("Is a dead Card", script._isDeadCard);
                GUI.backgroundColor = Color.white;
                EditorGUILayout.Space(20);


                if (!script._isDeadCard) // if bool is true, show other fields
                {
                    GUI.backgroundColor = script._colorInspector;
                    script._canSlideUp  = EditorGUILayout.Toggle("Can Slide Up", script._canSlideUp);
                    GUI.backgroundColor = Color.white;

                    if (script._canSlideUp)
                    {
                        //EditorGUILayout.SelectableLabel("If the card can Slide Up", myStyleBold);
                        script._isNextCardUp           = EditorGUILayout.ObjectField("Next Card By Sliding UP", script._isNextCardUp, typeof(CardScriptableObject), true) as CardScriptableObject;
                        script._isSwipingUpDescription = EditorGUILayout.TextField("Description when player slide UP", script._isSwipingUpDescription);

                        script._enumObjectToUnlockUp = (EnumListObject._objectList)EditorGUILayout.EnumPopup("Object to unlock UP", script._enumObjectToUnlockUp);

                        script._enumSuccessUp = (EnumSuccess._enumSuccess)EditorGUILayout.EnumPopup("Success to Unlock UP", script._enumSuccessUp);
                        EditorGUILayout.Space(20);

                        #region Commentaire

                        /*if(_lineSize == 0 && script._conditionsObjectList.Count != 0)
                         * {
                         *  _lineSize = script._conditionsObjectList.Count;
                         * }
                         * _lineSize = EditorGUILayout.IntField("Conditions numbers size", _lineSize);
                         *
                         * if(_lineSize != script._conditionsObjectList.Count)
                         * {
                         *  if(_lineSize < script._conditionsObjectList.Count)
                         *  {
                         *      script._conditionsObjectList.RemoveAt(script._conditionsObjectList.Count - 1);
                         *  }
                         *  else if(_lineSize > script._conditionsObjectList.Count)
                         *  {
                         *      for (int i = 0; i < _lineSize - script._conditionsObjectList.Count; i++)
                         *      {
                         *          script._conditionsObjectList.Add(0);
                         *      }
                         *  }
                         * }
                         * for (int i = 0; i < script._conditionsObjectList.Count; i++)
                         * {
                         *  _enumObjectCondition = (EnumListObject._objectList)EditorGUILayout.EnumPopup("Condition " + i, _enumObjectCondition);
                         *  //_enumObjectConditionList[i] = _enumObjectCondition;
                         * }
                         *
                         * //script._enumObjectConditionListPublic = _enumObjectConditionList;*/

                        //EditorGUILayout.SelectableLabel("SWIPE", myStyleBold);
                        //EditorGUILayout.SelectableLabel("RIGHT", myStyleBold);
                        #endregion
                    }
                    EditorGUILayout.Space(10);
                    GUI.backgroundColor   = script._colorInspector;
                    script._canSlideRight = EditorGUILayout.Toggle("Can Slide Right", script._canSlideRight);
                    GUI.backgroundColor   = Color.white;


                    if (script._canSlideRight)
                    {
                        script._isNextCardRight           = EditorGUILayout.ObjectField("Next Card By Sliding RIGHT", script._isNextCardRight, typeof(CardScriptableObject), true) as CardScriptableObject;
                        script._isSwipingRightDescription = EditorGUILayout.TextField("Description when player slide RIGHT", script._isSwipingRightDescription);
                        script._enumObjectToUnlockRight   = (EnumListObject._objectList)EditorGUILayout.EnumPopup("Object to unlock RIGHT", script._enumObjectToUnlockRight);

                        script._enumSuccessRight = (EnumSuccess._enumSuccess)EditorGUILayout.EnumPopup("Success to Unlock RIGHT", script._enumSuccessRight);
                        EditorGUILayout.Space(20);
                    }
                    EditorGUILayout.Space(10);
                    GUI.backgroundColor  = script._colorInspector;
                    script._canSlideLeft = EditorGUILayout.Toggle("Can Slide Left", script._canSlideLeft);
                    GUI.backgroundColor  = Color.white;


                    if (script._canSlideLeft)
                    {
                        script._isNextCardLeft           = EditorGUILayout.ObjectField("Next Card By Sliding LEFT", script._isNextCardLeft, typeof(CardScriptableObject), true) as CardScriptableObject;
                        script._isSwipingLeftDescription = EditorGUILayout.TextField("Description when player slide LEFT", script._isSwipingLeftDescription);
                        script._enumObjectToUnlockLeft   = (EnumListObject._objectList)EditorGUILayout.EnumPopup("Object to unlock LEFT", script._enumObjectToUnlockLeft);

                        script._enumSuccessLeft = (EnumSuccess._enumSuccess)EditorGUILayout.EnumPopup("Success to Unlock LEFT", script._enumSuccessLeft);
                        EditorGUILayout.Space(20);
                    }
                    EditorGUILayout.Space(10);
                    GUI.backgroundColor   = script._colorInspector;
                    script._isEndingEvent = EditorGUILayout.Toggle("This Card Finish an Event", script._isEndingEvent);
                    GUI.backgroundColor   = Color.white;

                    if (script._isEndingEvent)
                    {
                        script._eventCanBePlayOne = EditorGUILayout.Toggle("This Card Can Be Play Once", script._eventCanBePlayOne);
                        script._firstCardOfEvent  = EditorGUILayout.ObjectField("First card of this event", script._firstCardOfEvent, typeof(CardScriptableObject), true) as CardScriptableObject;
                        script._swipeDirectionEnd = (EnumDirectionSwipeCard._swipeDirection)EditorGUILayout.EnumPopup("Success to Unlock LEFT", script._swipeDirectionEnd);
                        EditorGUILayout.Space(20);
                    }
                }
                else
                {
                    EditorGUILayout.Space(20);
                    script._enumSuccessDeath = (EnumSuccess._enumSuccess)EditorGUILayout.EnumPopup("Success to Unlock when you die", script._enumSuccessDeath);
                }


                EditorGUILayout.Space(10);
                GUI.backgroundColor   = script._colorInspector;
                script._hasSpecialVFX = EditorGUILayout.Toggle("This Card has a special VFX", script._hasSpecialVFX);
                GUI.backgroundColor   = Color.white;

                if (script._hasSpecialVFX)
                {
                    script._specialVFX = EditorGUILayout.ObjectField("Special VFX GameObject", script._specialVFX, typeof(GameObject), true) as GameObject;
                    EditorGUILayout.Space(20);
                }
            }
        }
        else
        {
            script.colorTextUp = EditorGUILayout.ColorField("Color Text", script.colorTextUp);

            GUI.backgroundColor = script._colorInspector;
            script._canSlideUp  = EditorGUILayout.Toggle("Can Slide Up", script._canSlideUp);
            GUI.backgroundColor = Color.white;

            script._isNextCardLinkedIn        = EditorGUILayout.ObjectField("Previous Card By Sliding", script._isNextCardLinkedIn, typeof(CardScriptableObject), true) as CardScriptableObject;
            script._isPreviousCardLinkedIn    = EditorGUILayout.ObjectField("Next Card By Sliding", script._isPreviousCardLinkedIn, typeof(CardScriptableObject), true) as CardScriptableObject;
            script._isSwipingLeftDescription  = EditorGUILayout.TextField("Description when player slide LEFT", script._isSwipingLeftDescription);
            script._isSwipingRightDescription = EditorGUILayout.TextField("Description when player slide RIGHT", script._isSwipingRightDescription);
            script.url = EditorGUILayout.TextField("URL LinkedIn", script.url);
            script._isSwipingUpDescription = EditorGUILayout.TextField("Description when player slide UP", script._isSwipingUpDescription);
        }

        if (GUILayout.Button("Update Valeurs"))
        {
#if UNITY_EDITOR
            EditorUtility.SetDirty(script);
#endif
        }
    }
    public void LoadValueFromScriptableObject()
    {
        fire.SetActive(false);
        _unlockSlideUpInt = 0;
        _imageCard.sprite = _firstCardScriptable._image;

        _hasVfx = _firstCardScriptable._hasSpecialVFX;
        if (_hasVfx)
        {
            _vfx = _firstCardScriptable._specialVFX;
        }
        else
        {
            _vfx = null;
        }


        //SAVE

        //succes
        if (succesManager.allTheSucces[11].locked)
        {
            succesManager.timer = 0;
        }
        if (succesManager.allTheSucces[12].locked)
        {
            succesManager.swiped++;
        }



        if (_firstCardScriptable._canSlideLeft)
        {
            _descriptionLeftSwipe.text = _firstCardScriptable._isSwipingLeftDescription;
        }

        if (_firstCardScriptable._canSlideLeft)
        {
            _descriptionRightSwipe.text = _firstCardScriptable._isSwipingRightDescription;
        }

        if (_firstCardScriptable._canSlideUp)
        {
            _descriptionUpSwipe.text = _firstCardScriptable._isSwipingUpDescription;
        }

        _isAContrat = _firstCardScriptable._isContratCard;

        if (!_isAContrat)
        {
            _titleCard.text       = _firstCardScriptable._title;
            _descriptionCard.text = _firstCardScriptable._description;

            if (_firstCardScriptable.isLinkedIn)
            {
                _descriptionUpSwipe.color         = _firstCardScriptable.colorTextUp;
                _descriptionRightSwipe.color      = _firstCardScriptable.colorTextUp;
                _descriptionLeftSwipe.color       = _firstCardScriptable.colorTextUp;
                _descriptionUpSwipe.text          = _firstCardScriptable._isSwipingUpDescription;
                _descriptionCard.fontSize         = 180;
                _descriptionCard.enableAutoSizing = true;
                _descriptionCard.fontSizeMin      = 140;
                _descriptionCard.fontSizeMax      = 230;
                _descriptionCard.alignment        = TMPro.TextAlignmentOptions.Center;
            }

            if (FindObjectOfType <TextControl>())
            {
                FindObjectOfType <TextControl>().ChangeFont(_firstCardScriptable);
            }

            FindObjectOfType <SaveAndLoad>().firstCard = _firstCardScriptable.name;

            if (!FindObjectOfType <GameManager>()._savingDrawCardCard.Contains(_firstCardScriptable.name))
            {
                FindObjectOfType <GameManager>()._savingDrawCardCard.Add(_firstCardScriptable.name);
                FindObjectOfType <SaveAndLoad>().SavePlayer();
            }

            if (!FindObjectOfType <GameManager>()._apparitionOrder.Contains(_firstCardScriptable.name))
            {
                FindObjectOfType <GameManager>()._apparitionOrder.Add(_firstCardScriptable.name);
            }

            _isADeadCard = _firstCardScriptable._isDeadCard;

            _enumPlace = _firstCardScriptable._enumPlaceString;

            if (!_isADeadCard)
            {
                _nextCardLeft  = _firstCardScriptable._isNextCardLeft;
                _nextCardRight = _firstCardScriptable._isNextCardRight;
                _nextCardUp    = _firstCardScriptable._isNextCardUp;



                _isUnlockingSuccessRight = _firstCardScriptable._isSuccess;

                if (_isUnlockingSuccessRight)
                {
                    _enumSuccess = _firstCardScriptable._enumSuccessString;
                }


                _unlockSlideUp = _firstCardScriptable._canSlideUp;

                if (_unlockSlideUp)
                {
                    _nextCardUp = _firstCardScriptable._isNextCardUp;
                    _descriptionUpSwipe.text = _firstCardScriptable._isSwipingUpDescription;
                    _enumConditionListObject = _firstCardScriptable._enumObjectConditionList;
                    VerifyIfCanSlideUp();
                }
            }
            else
            {
                audioManager.Play("SFX_DeathSound");
                Vibration.Vibrate(300);


                _descriptionUpSwipe.text = _firstCardScriptable._isSwipingUpDescription;
                if (succesManager.allTheSucces[12].locked && succesManager.swiped <= 5)
                {
                    succesManager.UnlockSuccess(succesManager.allTheSucces[12].enumSucces);
                }
                if (succesManager.allTheSucces[0].locked)
                {
                    succesManager.UnlockSuccess(succesManager.allTheSucces[0].enumSucces);
                }
            }
        }
    }