Пример #1
0
    // public void OpenAddBattlerPanel()
    // {
    //     panel.Init(new BattlerData(), AddBattler);
    // }
    // public void AddBattler(BattlerData data)
    // {
    //     battlers[data.pkID] = data;
    //     RefreshBattlerList();
    // }


    // public void RemoveBattler()
    // {
    //     if (highlightPKButton == null)
    //         return;

    //     try
    //     {
    //         BattlerData data;
    //         int id = int.Parse(highlightPKButton.name);
    //         if (battlers.TryGetValue(id, out data))
    //         {
    //             battlers.Remove(id);
    //             RefreshBattlerList();
    //         }
    //     }
    //     catch { }

    // }


    // public void AddToPlayer()
    // {
    //     if (highlightPKButton == null)
    //         return;
    //     BattlerData data;
    //     if (TryGetBattlerByString(highlightPKButton.name, out data))
    //     {
    //         playerList.Add(data.pkID);
    //         Utilities.RefreshPKLayoutGroup(playerBattlersRoot, playerList, OnClickPlayerBattler);
    //         OnClickBattler(highlightPKButton);
    //         SaveBattlersData();
    //     }
    // }

    // public void RemovePlayerBattler()
    // {

    //     if (highlightPlayerPKButton == null)
    //         return;

    //     int id = int.Parse(highlightPlayerPKButton.name);
    //     if (playerList.Contains(id))
    //     {
    //         playerList.Remove(id);
    //         Utilities.RefreshPKLayoutGroup(playerBattlersRoot, playerList, OnClickPlayerBattler);

    //         SaveBattlersData();
    //     }
    // }



    // void RefreshBattlerList()
    // {
    //     for (int i = 0; i < battlersRoot.childCount; i++)
    //     {
    //         Destroy(battlersRoot.GetChild(i).gameObject);
    //     }

    //     foreach (int id in battlers.Keys)
    //     {
    //         BattlerData data = battlers[id];

    //         Sprite sprite = null;
    //         if (Main.Instance.pokeImages.TryGetValue(id, out sprite))
    //         {

    //         }
    //         else
    //         {
    //             Debug.LogWarning("NO Image: " + id);
    //         }

    //         GameObject pkGO = GameObject.Instantiate(pkPrefab);
    //         pkGO.name = id.ToString();
    //         pkGO.transform.SetParent(battlersRoot, false);

    //         // Load Image
    //         Image img = pkGO.transform.Find("Image").GetComponent<Image>();
    //         img.sprite = sprite;

    //         // Load Name
    //         Text txt = pkGO.GetComponentInChildren<Text>();
    //         txt.text = id.ToString();

    //         Button btn = pkGO.GetComponent<Button>();
    //         btn.onClick.AddListener(() =>
    //         {
    //             OnClickBattler(btn);
    //         });
    //     }

    //     SaveBattlersData();
    // }



    public void SaveBattlersData()
    {
        BattleManagerData saveData = new BattleManagerData();

        saveData.playerList = playerList;
        foreach (BattlerData data in battlers.Values)
        {
            saveData.battlers.Add(data);
        }

        string saveString = JsonUtility.ToJson(saveData);

        Debug.Log("Save: " + saveString);

        string folderPath = Application.persistentDataPath;
        string path       = Path.Combine(folderPath, "battlers.json");

        File.WriteAllText(path, saveString);

        Debug.Log("Save to Path: " + path);
    }
Пример #2
0
    void LoadBattlersData()
    {
        string folderPath = Application.persistentDataPath;
        string path       = Path.Combine(folderPath, "battlers.json");

        if (File.Exists(path) == false)
        {
            return;
        }

        string saveString = System.IO.File.ReadAllText(path);

        BattleManagerData saveData = JsonUtility.FromJson <BattleManagerData>(saveString);

        playerList = saveData.playerList;

        foreach (BattlerData data in saveData.battlers)
        {
            battlers.Add(data.pkID, data);
        }

        RefreshAllBattlerList();
    }