//地牢信息浮动块-更新 public void UpdateDungeonInfoBlock(int id) { dungeonInfoBlockID = id; dungeonInfoBlock_picImage.sprite = Resources.Load("Image/AdventureBG/ABG_" + DataManager.mDungeonDict[id].ScenePic[0] + "_B", typeof(Sprite)) as Sprite; dungeonInfoBlock_nameText.text = DataManager.mDungeonDict[id].Name; switch (gc.dungeonList[id].stage) { case DungeonStage.Close: dungeonInfoBlock_stateText.text = "未开放"; break; case DungeonStage.Open: dungeonInfoBlock_stateText.text = "可开拓"; break; case DungeonStage.OpenUp: dungeonInfoBlock_stateText.text = "开拓中"; break; case DungeonStage.Done: dungeonInfoBlock_stateText.text = "已开拓"; break; } string str = ""; for (int j = 0; j < DataManager.mDungeonDict[id].MonsterID.Count; j++) { str += DataManager.mMonsterDict[DataManager.mDungeonDict[id].MonsterID[j]].Name + " "; } dungeonInfoBlock_desText.text = "<color=#EFDDB1>地图等级</color> " + DataManager.mDungeonDict[id].Level + " <color=#EFDDB1>旅程</color> " + (DataManager.mDungeonDict[id].PartNum * 100) + "M\n" + DataManager.mDungeonDict[id].Des + "\n<color=#EFDDB1>出现怪物</color> " + str; GameObject go; for (byte i = 0; i < gc.dungeonList[id].teamList.Count; i++) { byte teamID = gc.dungeonList[id].teamList[i]; if (i < teamGoPool.Count) { go = teamGoPool[i]; teamGoPool[i].transform.GetComponent <RectTransform>().localScale = Vector2.one; } else { go = Instantiate(Resources.Load("Prefab/UILabel/Label_TeamInDungeonInfo")) as GameObject; go.transform.SetParent(dungeonInfoBlock_teamGo.transform); teamGoPool.Add(go); } go.name = (teamID + 1).ToString(); go.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, i * -59f); for (int j = 0; j < gc.adventureTeamList[teamID].heroIDList.Count; j++) { go.transform.GetChild(1).GetChild(j).GetComponent <RectTransform>().localScale = Vector2.one; go.transform.GetChild(1).GetChild(j).GetComponent <Image>().overrideSprite = Resources.Load("Image/RolePic/" + gc.heroDic[gc.adventureTeamList[teamID].heroIDList[j]].pic + "/Pic", typeof(Sprite)) as Sprite; go.transform.GetChild(1).GetChild(j).GetChild(0).GetComponent <Text>().text = gc.heroDic[gc.adventureTeamList[teamID].heroIDList[j]].level.ToString(); go.transform.GetChild(1).GetChild(j).GetChild(1).GetComponent <RectTransform>().sizeDelta = new Vector2((float)gc.adventureTeamList[teamID].heroHpList[j] / gc.GetHeroAttr(Attribute.Hp, gc.adventureTeamList[teamID].heroIDList[j]) * 24f, 4f); go.transform.GetChild(1).GetChild(j).GetChild(2).GetComponent <RectTransform>().sizeDelta = new Vector2((float)gc.adventureTeamList[teamID].heroMpList[j] / gc.GetHeroAttr(Attribute.Mp, gc.adventureTeamList[teamID].heroIDList[j]) * 24f, 4f); } for (int j = gc.adventureTeamList[teamID].heroIDList.Count; j < 3; j++) { go.transform.GetChild(1).GetChild(j).GetComponent <RectTransform>().localScale = Vector2.zero; } go.transform.GetChild(2).GetChild(0).GetComponent <Text>().text = (teamID + 1).ToString(); string strdes = ""; go.transform.GetChild(4).localScale = Vector2.one; go.transform.GetChild(4).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(4).GetComponent <Button>().onClick.AddListener(delegate() { AdventureMainPanel.Instance.OnShow(teamID); }); if (gc.adventureTeamList[teamID].state == AdventureState.NotSend) { strdes = "待命"; go.transform.GetChild(5).localScale = Vector2.zero; go.transform.GetChild(6).localScale = Vector2.zero; go.transform.GetChild(7).localScale = Vector2.one; go.transform.GetChild(7).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(7).GetComponent <Button>().onClick.AddListener(delegate() { gc.AdventureTeamStart(teamID); }); go.transform.GetChild(8).localScale = Vector2.one; go.transform.GetChild(8).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(8).GetComponent <Button>().onClick.AddListener(delegate() { gc.AdventureTeamBack(teamID); }); } else if (gc.adventureTeamList[teamID].state == AdventureState.Doing) { float rate = (float)gc.adventureTeamList[teamID].nowDay / DataManager.mDungeonDict[gc.adventureTeamList[teamID].dungeonID].PartNum; go.transform.GetChild(5).localScale = Vector2.one; go.transform.GetChild(5).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(5).GetComponent <Button>().onClick.AddListener(delegate() { AdventureTeamPanel.Instance.OnShow(teamID, 76, -104); }); go.transform.GetChild(6).localScale = Vector2.zero; go.transform.GetChild(7).localScale = Vector2.zero; go.transform.GetChild(8).localScale = Vector2.zero; if (gc.adventureTeamList[teamID].action == AdventureAction.Fight) { strdes = "探险中[" + (int)(rate * 100) + "%][战斗]"; } else { strdes = "探险中[" + (int)(rate * 100) + "%][行进]"; } //Debug.Log("strdes="+ strdes); } else { go.transform.GetChild(5).localScale = Vector2.one; go.transform.GetChild(5).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(5).GetComponent <Button>().onClick.AddListener(delegate() { AdventureTeamPanel.Instance.OnShow(teamID, 76, -104); }); go.transform.GetChild(6).localScale = Vector2.one; go.transform.GetChild(6).GetComponent <Button>().onClick.RemoveAllListeners(); go.transform.GetChild(6).GetComponent <Button>().onClick.AddListener(delegate() { gc.AdventureTakeGets(teamID); }); go.transform.GetChild(7).localScale = Vector2.zero; //go.transform.GetChild(7).GetComponent<Button>().onClick.RemoveAllListeners(); //go.transform.GetChild(7).GetComponent<Button>().onClick.AddListener(delegate () //{ // gc.AdventureTeamStart(teamID); //}); go.transform.GetChild(8).localScale = Vector2.zero; //go.transform.GetChild(8).GetComponent<Button>().onClick.RemoveAllListeners(); //go.transform.GetChild(8).GetComponent<Button>().onClick.AddListener(delegate () //{ // gc.AdventureTeamBack(teamID); //}); float rate = (float)gc.adventureTeamList[teamID].nowDay / DataManager.mDungeonDict[gc.adventureTeamList[teamID].dungeonID].PartNum; if (gc.adventureTeamList[teamID].state == AdventureState.Done) { strdes = "结束[" + (int)(rate * 100) + "%]<color=green>[完成]</color>"; } else if (gc.adventureTeamList[teamID].state == AdventureState.Retreat) { strdes = "结束[" + (int)(rate * 100) + "%]<color=red>[中止]</color>"; } else if (gc.adventureTeamList[teamID].state == AdventureState.Fail) { strdes = "结束[" + (int)(rate * 100) + "%]<color=red>[失败]</color>"; } } go.transform.GetChild(3).GetComponent <Text>().text = strdes; } for (int i = gc.dungeonList[id].teamList.Count; i < teamGoPool.Count; i++) { teamGoPool[i].transform.GetComponent <RectTransform>().localScale = Vector2.zero; } dungeonInfoBlockRt.sizeDelta = new Vector2(214f, gc.dungeonList[id].teamList.Count * 59f + 162f); dungeonInfoBlock_sendBtn.onClick.RemoveAllListeners(); dungeonInfoBlock_sendBtn.onClick.AddListener(delegate() { AdventureSendPanel.Instance.OnShow("From", (short)id); }); }