void OngiftBtn() { MusicManager.PlaySe("click"); IEnumerable <Toggle> gifts = giftGrid.GetComponent <ToggleGroup>().ActiveToggles(); foreach (var gift in gifts) { if (gift.isOn) { string giftId = gift.transform.Find("Image").GetComponent <Image>().sprite.name; int count = int.Parse(gift.transform.Find("Text").GetComponent <Text>().text); if (count >= 1) { count--; gift.transform.Find("Text").GetComponent <Text>().text = count.ToString(); for (int i = 0; i < Globals.items.Count; i++) { if (Globals.items[i].itemId == giftId) { Globals.items[i].count = count; RoomGlobals.loveDic[RoomGlobals.currentId].love += Globals.items[i].value; if (RoomGlobals.loveDic[RoomGlobals.currentId].love >= RoomGlobals.loveDic[RoomGlobals.currentId].maxLove) { RoomGlobals.loveDic[RoomGlobals.currentId].lv++; RoomGlobals.loveDic[RoomGlobals.currentId].love -= RoomGlobals.loveDic[RoomGlobals.currentId].maxLove; } break; } } RoomFuncs.ChangeLove(); } } } }
void Oncharacter_roomSelectBtnClick(Transform point, string modelPath) { MusicManager.PlaySe("click"); RoomFuncs.CreateCharacter(point, modelPath); Destroy(gameObject); RoomGlobals.currentId = modelPath.Replace("Prefabs/", ""); RoomFuncs.ChangeLove(); }
void OnExchangeCharacter(Transform point1, string modelPath1, Transform point2, string modelPath2) { MusicManager.PlaySe("click"); RoomFuncs.DestroyAll(); RoomFuncs.CreateCharacter(point1, modelPath2); RoomFuncs.CreateCharacter(point2, modelPath1); RoomGlobals.currentId = modelPath2.Replace("Prefabs/", ""); RoomFuncs.ChangeLove(); }
void Start() { Globals.lastScene = "Room"; RoomFuncs.LoadStoryDic(); if (GameObject.Find("point1Btn")) { Button point1Btn = UIManager.GetButton("point1Btn"); RoomGlobals.point1Btn = point1Btn.gameObject; point1Btn.onClick.AddListener(() => { OnpointBtn(point1Btn.gameObject.name); }); } if (GameObject.Find("point1Btn")) { Button point2Btn = UIManager.GetButton("point2Btn"); RoomGlobals.point2Btn = point2Btn.gameObject; point2Btn.onClick.AddListener(() => { OnpointBtn(point2Btn.gameObject.name); }); } RoomGlobals.backBtn = GameObject.Find("backBtn"); GameObject point1 = GameObject.Find("point1"); RoomGlobals.point1 = point1; GameObject point2 = GameObject.Find("point2"); RoomGlobals.point2 = point2; selectCharacter = GameFuncs.FindHiden("selectCharacterParent"); //Load RoomImfos if (RoomGlobals.roomInfos.Count > 0) { foreach (var info in RoomGlobals.roomInfos) { Transform point = GameObject.Find(info.Key).transform; RoomFuncs.CreateCharacter(point, info.Value); string id = info.Value.Replace("Prefabs/", ""); if (!RoomGlobals.loveDic.ContainsKey(id)) { Hero h = GameFuncs.GetHero(id); RoomGlobals.loveDic.Add(id, h.li); } } } //如果有人则隐藏添加图标 if (point1.transform.childCount > 0) { RoomGlobals.point1Btn.SetActive(false); } if (point2.transform.childCount > 0) { RoomGlobals.point2Btn.SetActive(false); } MusicManager.PlayBgm("room"); }
IEnumerator IShowActs() { yield return(new WaitForSeconds(1f)); //Acts acts = GameFuncs.FindHiden("ActsParent"); acts.SetActive(true); GameObject menu = acts.transform.Find("menu").gameObject; RoomGlobals.menu = menu; RoomGlobals.menu.SetActive(true); BindActsBtns(); RoomFuncs.ChangeLove(); }
void Oncharacter_roomSelectBtnClick(Transform point, string modelPath, string btnName) { MusicManager.PlaySe("click"); RoomFuncs.CreateCharacter(point, modelPath); RoomGlobals.currentId = modelPath.Replace("Prefabs/", ""); if (!RoomGlobals.roomInfos.ContainsKey(point.gameObject.name)) { RoomGlobals.roomInfos.Add(point.gameObject.name, modelPath); } if (!RoomGlobals.loveDic.ContainsKey(RoomGlobals.currentId)) { Hero h = GameFuncs.GetHero(RoomGlobals.currentId); RoomGlobals.loveDic.Add(RoomGlobals.currentId, h.li); } GameObject.Find(btnName).SetActive(false); }
void OnpointBtn(string btnName) { MusicManager.PlaySe("click"); GameObject point = GameObject.Find(btnName.Replace("Btn", "")); if (point.transform.childCount == 0)//Add Chracter(Select UI->Instantiate) { if (!selectCharacter.activeInHierarchy) { selectCharacter.SetActive(true); //Create Characters Transform grid = selectCharacter.transform.Find("grid"); for (int i = 0; i < Globals.heroes.Count; i++) { if (!RoomFuncs.FindModel(Globals.heroes[i].id)) { GameObject character_roomSelect = GameObject.Instantiate( (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid); string modelPath = "Prefabs/" + Globals.heroes[i].id; string imagePath = "Character/Portrait/" + Globals.heroes[i].id; Image image = character_roomSelect.transform.Find("Image").GetComponent <Image>(); image.sprite = Resources.Load <Sprite>(imagePath); Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>(); character_roomSelectBtn.onClick.AddListener(() => { Oncharacter_roomSelectBtnClick(point.transform, modelPath, btnName); }); } } } else { Transform grid = selectCharacter.transform.Find("grid"); foreach (Transform child in grid) { Destroy(child.gameObject); } selectCharacter.SetActive(false); } } }
void OnchangeBtnClick() { MusicManager.PlaySe("click"); if (selectCharacter.activeInHierarchy == false) { selectCharacter.SetActive(true); grid = selectCharacter.transform.Find("grid"); UIManager.GetButton("closeChangeBtn").onClick.AddListener(() => { MusicManager.PlaySe("click"); foreach (Transform t in grid) { Destroy(t.gameObject); } selectCharacter.SetActive(false); }); //Create Characters foreach (Transform child in grid) { Destroy(child.gameObject); } for (int i = 0; i < Globals.heroes.Count; i++) { if (!RoomFuncs.FindModel(Globals.heroes[i].id) && (RoomGlobals.point1.transform.childCount == 0 || RoomGlobals.point2.transform.childCount == 0)) //替换没有在房间内的 { bool canCreate = true; foreach (Transform child in grid) { if (child.Find("Image").GetComponent <Image>().sprite.name.Contains(Globals.heroes[i].id)) { canCreate = false; break; } } if (canCreate) { GameObject character_roomSelect = GameObject.Instantiate( (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid); string modelPath = "Prefabs/" + Globals.heroes[i].id; string imagePath = "Character/Portrait/" + Globals.heroes[i].id; Image image = character_roomSelect.transform.Find("Image").GetComponent <Image>(); image.sprite = Resources.Load <Sprite>(imagePath); Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>(); character_roomSelectBtn.onClick.AddListener(() => { Oncharacter_roomSelectBtnClick(parent, modelPath); }); if (RoomGlobals.roomInfos.ContainsKey(parent.gameObject.name)) { RoomGlobals.roomInfos[parent.gameObject.name] = modelPath; } if (!RoomGlobals.loveDic.ContainsKey(Globals.heroes[i].id)) { RoomGlobals.loveDic.Add(Globals.heroes[i].id, new LoveInfo(1, 0)); } } } else if (RoomFuncs.FindModel(Globals.heroes[i].id) && (RoomGlobals.point1.transform.childCount > 0 && RoomGlobals.point2.transform.childCount > 0))//交换在房间内的 { parent = GameFuncs.GetParent(RoomGlobals.currentId, GameObject.Find("Points").transform); string id = ""; //对方的id Transform p = null; //对方的point string modelPath1 = "Prefabs/" + GameFuncs.GetId(parent.transform); if (parent.name == "point1") { id = GameFuncs.GetId(RoomGlobals.point2.transform); p = RoomGlobals.point2.transform; } else if (parent.name == "point2") { id = GameFuncs.GetId(RoomGlobals.point1.transform); p = RoomGlobals.point1.transform; } GameObject character_roomSelect = GameObject.Instantiate( (GameObject)GameFuncs.GetResource("Prefabs/character_roomSelect"), grid); string modelPath2 = "Prefabs/" + id; string imagePath = "Character/Portrait/" + id; Image image = character_roomSelect.transform.Find("Image").GetComponent <Image>(); image.sprite = Resources.Load <Sprite>(imagePath); Button character_roomSelectBtn = character_roomSelect.GetComponent <Button>(); character_roomSelectBtn.onClick.AddListener(() => { OnExchangeCharacter(parent, modelPath1, p, modelPath2); }); if (RoomGlobals.roomInfos.ContainsKey(p.gameObject.name)) { RoomGlobals.roomInfos[p.gameObject.name] = modelPath1; } if (RoomGlobals.roomInfos.ContainsKey(parent.gameObject.name)) { RoomGlobals.roomInfos[parent.gameObject.name] = modelPath2; } } } //如果是自身或重复就销毁 if (RoomGlobals.isDestroy) { for (int i = 0; i < grid.childCount; i++) { if (i >= Globals.heroes.Count - 1) { Destroy(grid.GetChild(i).gameObject); } } RoomGlobals.isDestroy = false; } } }