/// <summary> /// 创建挂机点怪物和特殊怪物(世界boss)位置的UI物体 /// </summary> public void CreateMonsterPoint() { var monster_infos = MiniMapHelp.GetInstanceAllNormalMonster(m_CurSceneId); WorldBossList.Clear(); for (int i = 0; i < monster_infos.Count; i++) { var info = monster_infos[i]; var rect = GetItem(m_MonsterPoint); Vector3 vect = new Vector3((info.Position.x - minX) / uiScalex, (info.Position.z - minY) / uiScaley, 0); rect.localPosition = vect; Text nameText = UIHelper.FindChild(rect.gameObject, "NameText").GetComponent <Text>(); var monster1 = UIHelper.FindChild(rect.gameObject, "MonsterType1"); var monster2 = UIHelper.FindChild(rect.gameObject, "MonsterType2"); var monster3 = UIHelper.FindChild(rect.gameObject, "MonsterType3"); var bossDead = UIHelper.FindChild(rect.gameObject, "BossDead"); Button moneterBtn = rect.GetComponent <Button>(); moneterBtn.onClick.RemoveAllListeners(); moneterBtn.onClick.AddListener(() => { OnClickMonsterPoint(info); }); monster1.SetActive(false); monster2.SetActive(false); monster3.SetActive(false); bossDead.SetActive(false); string blackLv = ActorHelper.GetColorLvDiff(info.ActorId, 1); switch (info.PointType) { case MiniMapPointType.Monster: case MiniMapPointType.EliteMonster: monster2.SetActive(true); nameText.text = info.BlackName; break; case MiniMapPointType.Boss: monster3.SetActive(true); WorldBossList.Add(info.Id, info); nameText.text = string.Format("{0}\n{1}", info.BlackName, blackLv); break; } mMonsterListPointObjs.Add(info.Id, rect.gameObject); } }