Exemplo n.º 1
0
    // load the all slot data from cache file.
    private void InitDataFromFile()
    {
        CharacterMenuData serializableData = LoadAllDeckDataFromFile();

        allPlaySlotObjectInAllDeck = new List <List <GameObject> > ();
        allRestSlotObjectInAllDeck = new List <List <GameObject> > ();

        for (int i = 0; i < MaxDeckNumber; i++)
        {
            CharacterDeckData   deckData = serializableData.allDeckData [i];
            CharacterSlotData[] allPlaySlotDataInOneDeck = deckData.allPlaySlotData;
            CharacterSlotData[] allRestSlotDataInOneDeck = deckData.allRestSlotData;

            //Debug.Log (allPlaySlotDataInOneDeck [0].ToString());

            List <GameObject> allPlayObjects = new List <GameObject> ();
            List <GameObject> allRestObjects = new List <GameObject> ();

            for (int j = 0; j < MaxPlaySlotNumber; j++)
            {
                GameObject newSlotObject                    = characterSlotPool.GetObject();
                CharacterSlotDataController ctl             = newSlotObject.GetComponent <CharacterSlotDataController> ();
                CharacterSlotData           newDataInObject = ctl.characterSlotData;
                newDataInObject.isEmpty     = allPlaySlotDataInOneDeck [j].isEmpty;
                newDataInObject.characterId = allPlaySlotDataInOneDeck [j].characterId;
                newDataInObject.lvl         = allPlaySlotDataInOneDeck [j].lvl;
                newDataInObject.exp         = allPlaySlotDataInOneDeck [j].exp;
                newDataInObject.weight      = allPlaySlotDataInOneDeck [j].weight;
                newDataInObject.imagePath   = allPlaySlotDataInOneDeck [j].imagePath;
                allPlayObjects.Add(newSlotObject);
            }

            for (int j = 0; j < allRestSlotDataInOneDeck.Length; j++)
            {
                GameObject newSlotObject                    = characterSlotPool.GetObject();
                CharacterSlotDataController ctl             = newSlotObject.GetComponent <CharacterSlotDataController> ();
                CharacterSlotData           newDataInObject = ctl.characterSlotData;
                newDataInObject.isEmpty     = allRestSlotDataInOneDeck [j].isEmpty;
                newDataInObject.characterId = allRestSlotDataInOneDeck [j].characterId;
                newDataInObject.lvl         = allRestSlotDataInOneDeck [j].lvl;
                newDataInObject.exp         = allRestSlotDataInOneDeck [j].exp;
                newDataInObject.weight      = allRestSlotDataInOneDeck [j].weight;
                newDataInObject.imagePath   = allRestSlotDataInOneDeck [j].imagePath;
                allRestObjects.Add(newSlotObject);
            }

            allPlaySlotObjectInAllDeck.Add(allPlayObjects);
            allRestSlotObjectInAllDeck.Add(allRestObjects);
        }
    }
Exemplo n.º 2
0
    // save the all slot data to the cache file
    private void SaveAllDeckDataToFile()
    {
        string filePath = Path.Combine(Application.streamingAssetsPath, "data.json");

        if (File.Exists(filePath))
        {
            CharacterMenuData dataNeedWrite = AllSlotObjectDataToSerializableData();
            string            dataAsJson    = JsonUtility.ToJson(dataNeedWrite);
            File.WriteAllText(filePath, dataAsJson);
        }
        else
        {
            Debug.LogError("Cannot write character menu data to file!");
        }
    }
Exemplo n.º 3
0
    // get the cache file.
    private CharacterMenuData LoadAllDeckDataFromFile()
    {
        CharacterMenuData result   = new CharacterMenuData();
        string            filePath = Path.Combine(Application.streamingAssetsPath, "data.json");

        if (File.Exists(filePath))
        {
            string dataAsJson = File.ReadAllText(filePath);
            result = JsonUtility.FromJson <CharacterMenuData> (dataAsJson);
            return(result);
        }
        else
        {
            Debug.LogError("Cannot load character menu data from file!");
            return(null);
        }
    }
Exemplo n.º 4
0
    // make all slot object to format with serializable data
    private CharacterMenuData AllSlotObjectDataToSerializableData()
    {
        CharacterMenuData result = new CharacterMenuData();

        result.allDeckData = new CharacterDeckData[MaxDeckNumber];
        for (int i = 0; i < MaxDeckNumber; i++)
        {
            List <GameObject> allPlaySlotInOneDeck = allPlaySlotObjectInAllDeck [i];
            List <GameObject> allRestSlotInOneDeck = allRestSlotObjectInAllDeck [i];
            result.allDeckData [i] = new CharacterDeckData();
            result.allDeckData[i].allPlaySlotData = new CharacterSlotData[MaxPlaySlotNumber];
            result.allDeckData[i].allRestSlotData = new CharacterSlotData[allRestSlotInOneDeck.Count];

            for (int j = 0; j < MaxPlaySlotNumber; j++)
            {
                CharacterSlotDataController ctl            = allPlaySlotInOneDeck [j].GetComponent <CharacterSlotDataController> ();
                CharacterSlotData           dataInObject   = ctl.characterSlotData;
                CharacterSlotData           resultSlotData = new CharacterSlotData();
                resultSlotData.isEmpty     = dataInObject.isEmpty;
                resultSlotData.characterId = dataInObject.characterId;
                resultSlotData.lvl         = dataInObject.lvl;
                resultSlotData.exp         = dataInObject.exp;
                resultSlotData.weight      = dataInObject.weight;
                resultSlotData.imagePath   = dataInObject.imagePath;
                result.allDeckData [i].allPlaySlotData [j] = resultSlotData;
            }

            for (int j = 0; j < allRestSlotInOneDeck.Count; j++)
            {
                CharacterSlotDataController ctl            = allRestSlotInOneDeck [j].GetComponent <CharacterSlotDataController> ();
                CharacterSlotData           dataInObject   = ctl.characterSlotData;
                CharacterSlotData           resultSlotData = new CharacterSlotData();
                resultSlotData.isEmpty     = dataInObject.isEmpty;
                resultSlotData.characterId = dataInObject.characterId;
                resultSlotData.lvl         = dataInObject.lvl;
                resultSlotData.exp         = dataInObject.exp;
                resultSlotData.weight      = dataInObject.weight;
                resultSlotData.imagePath   = dataInObject.imagePath;
                result.allDeckData [i].allRestSlotData [j] = resultSlotData;
            }
        }
        return(result);
    }