Beispiel #1
0
 public void ResetData()
 {
     if (File.Exists(datapath + "/DefaultSaveFile.json"))
     {
         TextAsset ta   = Resources.Load <TextAsset>("Files/DefaultSaveFile");
         string    json = ta.ToString();
         string[]  strs = json.Split('$');
         string[]  tank = strs[0].Split('\n');
         for (int i = 0; i < tank.Length - 1; i++)
         {
             watertank[i] = JsonUtility.FromJson <WaterTank>(tank[i]);
         }
         string[] food = strs[1].Split('\n');
         for (int i = 1; i < food.Length - 1; i++)
         {
             string[] kv    = food[i].Split('|');
             string   key   = kv[0].Substring(8, kv[0].Length - 10);
             _Food    value = JsonUtility.FromJson <_Food>(kv[1]);
             foods[key] = value;
             LoadSprite(key, value.image);
         }
         string[] wqs = strs[2].Split('\n');
         for (int i = 1; i < wqs.Length - 1; i++)
         {
             string[]      kv    = wqs[i].Split('|');
             string        key   = kv[0].Substring(8, kv[0].Length - 10);
             _WaterQuality value = JsonUtility.FromJson <_WaterQuality>(kv[1]);
             waterquality_parts[key] = value;
             LoadSprite(key, value.image);
         }
         string[] oxs = strs[3].Split('\n');
         for (int i = 1; i < oxs.Length - 1; i++)
         {
             string[] kv    = oxs[i].Split('|');
             string   key   = kv[0].Substring(8, kv[0].Length - 10);
             _Oxygen  value = JsonUtility.FromJson <_Oxygen>(kv[1]);
             oxygen_parts[key] = value;
             LoadSprite(key, value.image);
         }
         string[] vos = strs[4].Split('\n');
         for (int i = 1; i < vos.Length - 1; i++)
         {
             string[] kv    = vos[i].Split('|');
             string   key   = kv[0].Substring(8, kv[0].Length - 10);
             _Volume  value = JsonUtility.FromJson <_Volume>(kv[1]);
             volume_parts[key] = value;
             LoadSprite(key, value.image);
         }
         string[] costs = strs[5].Split('\n');
         for (int i = 1; i < costs.Length - 1; i++)
         {
             string[] kv = costs[i].Split('|');
             money  = JsonUtility.FromJson <Money>(kv[0]);
             downum = JsonUtility.FromJson <DowNum>(kv[1]);
         }
     }
 }
Beispiel #2
0
    public void LoadData() // 상어 데이터 불러오기
    {
        sharks             = new Dictionary <string, _SharkData>();
        foods              = new Dictionary <string, _Food>();
        sprites            = new Dictionary <string, Sprite>();
        contents           = new Dictionary <string, string>();
        waterquality_parts = new Dictionary <string, _WaterQuality>();
        oxygen_parts       = new Dictionary <string, _Oxygen>();
        volume_parts       = new Dictionary <string, _Volume>();
        money              = new Money();
        downum             = new DowNum();

        if (File.Exists(datapath + "/DataFile.json")) // 상어 데이터
        {
            TextAsset ta   = Resources.Load <TextAsset>("Files/DataFile");
            string    json = ta.ToString();
            string[]  strs = json.Split('\n');
            for (int i = 0; i < strs.Length - 1; i++)
            {
                string[]   kv    = strs[i].Split('|');
                string     key   = kv[0].Substring(8, kv[0].Length - 10);
                _SharkData value = JsonUtility.FromJson <_SharkData>(kv[1]);
                sharks[key] = value;
                LoadSprite(key, value.image);
                LoadContent(key, key);
            }
        }
        if (File.Exists(savepath + "/SaveFile.json")) // 수조 & 음식 데이터
        {
            byte[]   bt   = File.ReadAllBytes(savepath + "/SaveFile.json");
            string   json = Encoding.UTF8.GetString(bt);
            string[] strs = json.Split('$');
            string[] tank = strs[0].Split('\n');
            for (int i = 0; i < tank.Length - 1; i++)
            {
                watertank[i] = JsonUtility.FromJson <WaterTank>(tank[i]);
            }
            string[] food = strs[1].Split('\n');
            for (int i = 1; i < food.Length - 1; i++)
            {
                string[] kv    = food[i].Split('|');
                string   key   = kv[0].Substring(8, kv[0].Length - 10);
                _Food    value = JsonUtility.FromJson <_Food>(kv[1]);
                foods[key] = value;
                LoadSprite(key, value.image);
            }
            string[] wqs = strs[2].Split('\n');
            for (int i = 1; i < wqs.Length - 1; i++)
            {
                string[]      kv    = wqs[i].Split('|');
                string        key   = kv[0].Substring(8, kv[0].Length - 10);
                _WaterQuality value = JsonUtility.FromJson <_WaterQuality>(kv[1]);
                waterquality_parts[key] = value;
                LoadSprite(key, value.image);
            }
            string[] oxs = strs[3].Split('\n');
            for (int i = 1; i < oxs.Length - 1; i++)
            {
                string[] kv    = oxs[i].Split('|');
                string   key   = kv[0].Substring(8, kv[0].Length - 10);
                _Oxygen  value = JsonUtility.FromJson <_Oxygen>(kv[1]);
                oxygen_parts[key] = value;
                LoadSprite(key, value.image);
            }
            string[] vos = strs[4].Split('\n');
            for (int i = 1; i < vos.Length - 1; i++)
            {
                string[] kv    = vos[i].Split('|');
                string   key   = kv[0].Substring(8, kv[0].Length - 10);
                _Volume  value = JsonUtility.FromJson <_Volume>(kv[1]);
                volume_parts[key] = value;
                LoadSprite(key, value.image);
            }
            string[] costs = strs[5].Split('\n');
            for (int i = 1; i < costs.Length - 1; i++)
            {
                string[] kv = costs[i].Split('|');
                money  = JsonUtility.FromJson <Money>(kv[0]);
                downum = JsonUtility.FromJson <DowNum>(kv[1]);
            }
        }
        else
        {
            ResetData();
        }
    }
Beispiel #3
0
    public void ItemLoad()
    {
        GetComponent <ScrollRect>().content.transform.localPosition = Vector3.zero;
        int i      = 0;
        int stress = 0;

        switch (type)
        {
        case Item_Ty._WaterQuality:
            foreach (string key in GameManager.Instance.waterquality_parts.Keys)
            {
                _WaterQuality wq = GameManager.Instance.waterquality_parts[key];
                items[i].image.sprite  = GameManager.Instance.sprites[key];
                items[i].itemname.text = wq.name;
                partButton pb     = items[i].GetComponent <partButton>();
                Interface  tempIf = GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._partshopTab];
                pb.panel = tempIf.gameObject;
                pb.text  = tempIf.childs[0].GetComponent <Text>();
                pb.part  = tempIf.childs[1].GetComponent <Text>();
                pb.image = tempIf.childs[2].GetComponent <Image>();
                if (wq.name == GameManager.Instance.watertank[0].part.waterQuality)
                {
                    items[i].content.text = "착용함";
                    pb.state = partstate.puted;
                }
                else if (wq.buy)
                {
                    items[i].content.text = "구매함";
                    pb.state = partstate.buyed;
                }
                else
                {
                    items[i].content.text = "가격 " + wq.price + "$";
                    pb.state = partstate.notbuyed;
                }
                i++;
            }
            CategorySelect();
            break;

        case Item_Ty._Oxygen:
            foreach (string key in GameManager.Instance.oxygen_parts.Keys)
            {
                _Oxygen ox = GameManager.Instance.oxygen_parts[key];
                items[i].image.sprite  = GameManager.Instance.sprites[key];
                items[i].itemname.text = ox.name;
                partButton pb     = items[i].GetComponent <partButton>();
                Interface  tempIf = GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._partshopTab];
                pb.panel = tempIf.gameObject;
                pb.text  = tempIf.childs[0].GetComponent <Text>();
                pb.part  = tempIf.childs[1].GetComponent <Text>();
                pb.image = tempIf.childs[2].GetComponent <Image>();
                if (ox.name == GameManager.Instance.watertank[0].part.oxygen)
                {
                    items[i].content.text = "착용함";
                    pb.state = partstate.puted;
                }
                else if (ox.buy)
                {
                    items[i].content.text = "구매함";
                    pb.state = partstate.buyed;
                }
                else
                {
                    items[i].content.text = "가격 " + ox.price + "$";
                    pb.state = partstate.notbuyed;
                }
                i++;
            }
            CategorySelect();
            break;

        case Item_Ty._Volume:
            foreach (string key in GameManager.Instance.volume_parts.Keys)
            {
                _Volume vo = GameManager.Instance.volume_parts[key];
                items[i].image.sprite  = GameManager.Instance.sprites[key];
                items[i].itemname.text = vo.name;
                partButton pb     = items[i].GetComponent <partButton>();
                Interface  tempIf = GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._partshopTab];
                pb.panel = tempIf.gameObject;
                pb.text  = tempIf.childs[0].GetComponent <Text>();
                pb.part  = tempIf.childs[1].GetComponent <Text>();
                pb.image = tempIf.childs[2].GetComponent <Image>();
                if (vo.name == GameManager.Instance.watertank[0].part.volume)
                {
                    items[i].content.text = "착용함";
                    pb.state = partstate.puted;
                    GameManager.Instance.watertank[0].volume = vo.size;
                    GameManager.Instance.watertank[1].volume = vo.size;
                }
                else if (vo.buy)
                {
                    items[i].content.text = "구매함";
                    pb.state = partstate.buyed;
                }
                else
                {
                    items[i].content.text = "가격 " + vo.price + "$";
                    pb.state = partstate.notbuyed;
                }
                i++;
            }
            CategorySelect();
            break;

        case Item_Ty._Collection:
            foreach (string key in GameManager.Instance.sharks.Keys)
            {
                _SharkData sd = GameManager.Instance.sharks[key];
                items[i].image.sprite  = GameManager.Instance.sprites[key];
                items[i].itemname.text = sd.name;
                items[i].content.text  = "등급 " + sd.special;
                i++;
            }
            break;

        case Item_Ty._Inventory:
            foreach (string key in GameManager.Instance.foods.Keys)
            {
                _Food fd = GameManager.Instance.foods[key];
                items[i].image.sprite = GameManager.Instance.sprites[key];
                items[i].content.text = fd.count.ToString();
                i++;
            }
            break;

        case Item_Ty._Tank1:
            for (; i < GameManager.Instance.watertank[0].sharks.Count; i++)
            {
                _SharkData sd = GameManager.Instance.sharks[GameManager.Instance.watertank[0].sharks[i].name];
                items[i].image.sprite  = GameManager.Instance.sprites[sd.name];
                items[i].itemname.text = GameManager.Instance.watertank[0].sharks[i].stress.ToString();
                items[i].content.text  = GameManager.Instance.watertank[0].sharks[i].curSize.ToString();
                stress += GameManager.Instance.watertank[0].sharks[i].stress;
            }
            if (GameManager.Instance.watertank[0].sharks.Count != 0)
            {
                stress /= GameManager.Instance.watertank[0].sharks.Count;
            }
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank1].childs[2].GetComponent <Text>().text = GameManager.Instance.watertank[0].waterQuality.ToString();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank1].childs[3].GetComponent <Text>().text = stress.ToString();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank1].childs[4].GetComponent <Button>().onClick.RemoveAllListeners();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank1].childs[4].GetComponent <Button>().onClick.AddListener(delegate { Sell(0); });
            break;

        case Item_Ty._Tank2:
            for (; i < GameManager.Instance.watertank[1].sharks.Count; i++)
            {
                _SharkData sd = GameManager.Instance.sharks[GameManager.Instance.watertank[1].sharks[i].name];
                items[i].image.sprite  = GameManager.Instance.sprites[sd.name];
                items[i].itemname.text = GameManager.Instance.watertank[1].sharks[i].stress.ToString();
                items[i].content.text  = GameManager.Instance.watertank[1].sharks[i].curSize.ToString();
                stress += GameManager.Instance.watertank[1].sharks[i].stress;
            }
            if (GameManager.Instance.watertank[1].sharks.Count != 0)
            {
                stress /= GameManager.Instance.watertank[1].sharks.Count;
            }
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank2].childs[2].GetComponent <Text>().text = GameManager.Instance.watertank[1].waterQuality.ToString();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank2].childs[3].GetComponent <Text>().text = stress.ToString();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank2].childs[4].GetComponent <Button>().onClick.RemoveAllListeners();
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Tank2].childs[4].GetComponent <Button>().onClick.AddListener(delegate { Sell(1); });
            break;

        case Item_Ty._SharkShop:
            foreach (string key in GameManager.Instance.sharks.Keys)
            {
                _SharkData sd = GameManager.Instance.sharks[key];
                items[i].image.sprite  = GameManager.Instance.sprites[key];
                items[i].itemname.text = sd.name;
                items[i].content.text  = "가격 " + sd.price + "$";
                items[i].index         = i;
                i++;
            }
            GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._TextEditor].GetComponent <SharkPlus>().SelectShark(0);
            break;
        }
    }