IEnumerator Tank(int index) { for (; ;) { if (start[index]) { GameManager.Instance.watertank[index].waterQuality = GameManager.Instance.waterquality_parts[GameManager.Instance.watertank[index].part.waterQuality].raiting; if (GameManager.Instance.watertank[index].sharks.Count != 0) { _SharkData sd = GameManager.Instance.sharks[GameManager.Instance.watertank[index].sharks[0].name]; int tankvolume = 0; for (int i = 0; i < GameManager.Instance.watertank[index].sharks.Count; i++) { tankvolume += GameManager.Instance.watertank[index].sharks[i].curSize; } if (tankvolume > GameManager.Instance.watertank[index].volume) { for (int i = 0; i < GameManager.Instance.watertank[index].sharks.Count; i++) { tankvolume += GameManager.Instance.watertank[index].sharks[i].stress++; } } if (GameManager.Instance.watertank[index].volume < GameManager.Instance.oxygen_parts[GameManager.Instance.watertank[index].part.oxygen].raiting) { for (int i = 0; i < GameManager.Instance.watertank[index].sharks.Count; i++) { tankvolume += GameManager.Instance.watertank[index].sharks[i].stress++; } } if (tankvolume > GameManager.Instance.waterquality_parts[GameManager.Instance.watertank[index].part.waterQuality].raiting) { for (int i = 0; i < GameManager.Instance.watertank[index].sharks.Count; i++) { tankvolume += GameManager.Instance.watertank[index].sharks[i].stress++; } } for (int i = 0; i < GameManager.Instance.watertank[index].sharks.Count; i++) { GameManager.Instance.watertank[index].sharks[i].curSize += sd.dowLimit; GameManager.Instance.watertank[index].sharks[i].curSize = (short)Mathf.Clamp(GameManager.Instance.watertank[index].sharks[i].curSize, sd.minSize, sd.maxSize); if (GameManager.Instance.watertank[index].sharks[i].stress > sd.stressLimit) { //사망! GameManager.Instance.watertank[index].sharks.RemoveAt(i); } } } } else { start[index] = true; } yield return(new WaitForSeconds(time)); } }
public void SelectShark(int h) { ScrollManaging sm = GameManager.Instance.interfaceManager.defaultIf[(int)_DefaultInterface._Sharkshop].childs[0].GetComponent <ScrollManaging>(); sm.items[handle].GetComponent <Image>().sprite = sprite[0]; handle = h; _sharkData = GameManager.Instance.sharks[sm.items[handle].GetComponent <ScrollItem>().itemname.text]; sm.items[handle].GetComponent <Image>().sprite = sprite[1]; }
public bool Shark_Plus(int index, _SharkData data, int count) { if (GameManager.Instance.watertank[index].sharks.Count == 0) //수조에 상어가 없다면 { for (int i = 0; i < count; i++) { GameManager.Instance.watertank[index].sharks.Add(new Shark(data.name)); } return(true); } else if (GameManager.Instance.watertank[index].sharks[0].name == data.name) // 수조에 똑같은 상어가 있다면 { for (int i = 0; i < count; i++) { GameManager.Instance.watertank[index].sharks.Add(new Shark(data.name)); } return(true); } else // 다른 상어가 있다넹 { SpecialTabColor(new Color(1f, 0.7f, 0.7f)); return(false); } }
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(); } }
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; } }