private int flagChange; //是不是可以点按钮 只有自己的可以点 /* methods */ /// <summary> /// 初始化 /// </summary> public void init(int currentStarBroeIndex, Card card, WindowBase win, int flag) { currentcard = card; fatherWindow = win; flagChange = flag; this.currentStarBroeIndex = currentStarBroeIndex; //得到指定位置的星魂(包括位置) StarSoulBore starSoulBore = currentcard.getStarSoulBoreByIndex(currentStarBroeIndex); if (starSoulBore != null) { if (starSoulBore.getSid() != 0) { starSoul = new StarSoul("0", starSoulBore.getSid(), starSoulBore.getExp(), 1); } else { starSoul = StorageManagerment.Instance.getStarSoul(starSoulBore.getUid());// 自己的 } } else { starSoul = null; } this.onClickEvent = grooveButtonClickHander; UpdateUI(); }
/// <summary> /// 更新星魂显示节点 /// </summary> private void updateEqItem() { //获取星魂槽上的所有星魂 foreach (Transform each in eqPerfbatPoint.transform) { Destroy(each.gameObject); } ResonanceSampleManager.Instance.showNum(showTypeNum == CardBookWindow.CLICKCHATSHOW); ArrayList arrayList = selectCard.getStarSoulArrayList(); for (int i = 0; i < 6; i++) { GameObject item = NGUITools.AddChild(eqPerfbatPoint, soulIndyPerfab.gameObject); item.transform.localPosition = new Vector3(i % 2 == 0 ? -128f : 140f, i < 2 ? 0 : (i < 4 ? -98f : -196f), 0); SoulIndyPerfab sif = item.GetComponent <SoulIndyPerfab>(); if (arrayList == null || arrayList.Count <= 0) { sif.init(fatherWindow, null, selectCard, showTypeNum, i); } else { bool falg = false; for (int j = 0; j < arrayList.Count; j++) { StarSoulBore ssb = (StarSoulBore)arrayList[j]; if (ssb.getIndex() == i + 1) { falg = true; if (showTypeNum == CardBookWindow.CLICKCHATSHOW) { sif.init(fatherWindow, new StarSoul("0", ssb.getSid(), ssb.getExp(), 0), selectCard, showTypeNum, i + 1); } else { sif.init(fatherWindow, StorageManagerment.Instance.getStarSoul(ssb.getUid()), selectCard, showTypeNum, i + 1); } } if (!falg) { sif.init(fatherWindow, null, selectCard, showTypeNum, i); } } } } }
public List <ResonanceSample> getrssList(int type, Card card, long exp, int ii) { List <ResonanceSample> rssList = new List <ResonanceSample>(); // ResonanceSample[] teS = new ResonanceSample[2]; if (type == 1) { string[] eqStrings = card.getEquips(); if (eqStrings == null || eqStrings.Length <= 4)//没有产生共鸣 { for (int i = 0; i < eqQHlist.Count; i++) { if (eqQHlist[i].needLv < 0) { continue; //理论上不存在 } if (ii == 0) { rssList.Add(eqQHlist[i]); return(rssList); } rssList.Add(eqQHlist[i < eqQHlist.Count - 1 ? i + 1 : eqQHlist.Count - 1]); return(rssList); } } int templv = -1; for (int j = 0; j < eqStrings.Length; j++) { if (!showTypeNum) { Equip eq = StorageManagerment.Instance.getEquip(eqStrings[j]); if (templv == -1 || templv > eq.getLevel()) { templv = eq.getLevel(); } } else { if (templv == -1 || templv > showChatEquips[j].getLevel()) { templv = showChatEquips[j].getLevel(); } } } for (int i = 0; i < eqQHlist.Count; i++) { if (ii == 0) //当前等级 { if (eqQHlist[i].needLv > templv) { rssList.Add(eqQHlist[i == 0?0:i - 1]); return(rssList); } if (i != eqQHlist.Count - 1 || eqQHlist[i].needLv > templv) { continue; } rssList.Add(eqQHlist[eqQHlist.Count - 1]); return(rssList); } if (eqQHlist[i].needLv > templv) { rssList.Add(eqQHlist[i]); return(rssList); } if (i != eqQHlist.Count - 1 || eqQHlist[i].needLv > templv) { continue; } rssList.Add(eqQHlist[eqQHlist.Count - 1]); return(rssList); } } if (type == 2) { string[] eqStrings = card.getEquips(); if (eqStrings == null || eqStrings.Length <= 4) { for (int i = 0; i < eqJLlist.Count; i++) { if (eqJLlist[i].needLv < 0) { continue; } if (ii == 0) { rssList.Add(eqJLlist[i]); return(rssList); } rssList.Add(eqJLlist[i < eqJLlist.Count - 1 ? i + 1 : eqJLlist.Count - 1]); return(rssList); } } int templv = -1; for (int j = 0; j < eqStrings.Length; j++) { if (!showTypeNum) { Equip eq = StorageManagerment.Instance.getEquip(eqStrings[j]); if (templv == -1 || templv > eq.getrefineLevel()) { templv = eq.getrefineLevel(); } } else { if (templv == -1 || templv > showChatEquips[j].getrefineLevel()) { templv = showChatEquips[j].getrefineLevel(); } } } for (int i = 0; i < eqJLlist.Count; i++) { if (ii == 0) //当前等级 { if (eqJLlist[i].needLv > templv) { rssList.Add(eqJLlist[i == 0 ? 0 : i - 1]); showTypeNum = false; return(rssList); } if (i != eqJLlist.Count - 1 || eqJLlist[i].needLv > templv) { continue; } rssList.Add(eqJLlist[eqJLlist.Count - 1]); return(rssList); } if (eqJLlist[i].needLv > templv) { rssList.Add(eqJLlist[i]); showTypeNum = false; return(rssList); } if (i != eqJLlist.Count - 1 || eqJLlist[i].needLv > templv) { continue; } rssList.Add(eqJLlist[eqJLlist.Count - 1]); showTypeNum = false; return(rssList); } } ArrayList bores = card.getStarSoulBores(); if (bores == null || bores.Count <= 0) { for (int i = 0; i < starList.Count; i++) { if (starList[i].needLv >= 0) { if (ii == 0) { rssList.Add(starList[i]); return(rssList); } rssList.Add(starList[i < starList.Count - 1 ? i + 1 : starList.Count - 1]); return(rssList); } } } int kk = 0; if (!showTypeNum) { for (int i = 0; i < 6; i++)//检查几个没有开 { if (!StarSoulManager.Instance.checkBroeOpenLev(card, i + 1)) { kk++; } } if (bores.Count + kk < 6) { if (ii == 0) { rssList.Add(starList[0]); return(rssList); } rssList.Add(starList[1]); return(rssList); } } else { for (int i = 0; i < 6; i++) { if (EXPSampleManager.Instance.getLevel(EXPSampleManager.SID_USER_EXP, exp, 0) >= StarSoulConfigManager.Instance.getGrooveOpen()[i]) { kk++; } } if (bores.Count + kk < 6) { if (ii == 0) { rssList.Add(starList[0]); return(rssList); } rssList.Add(starList[1]); return(rssList); } } int temppp = -1; for (int t = 0; t < bores.Count; t++) { if (showTypeNum) { // List<Card> teamData = new List<Card>(); // teamData = StarSoulManager.Instance.getTeamCardData(1, card); // int lv = teamData[t].getLevel(); StarSoulBore starSoulBore = bores[t] as StarSoulBore; StarSoul soul = new StarSoul("0", starSoulBore.getSid(), starSoulBore.getExp(), 0); int lv = soul.getLevel(); if (temppp == -1 || temppp > lv) { temppp = lv; } } else { StarSoulBore starSoulBore = bores[t] as StarSoulBore; int lv = StorageManagerment.Instance.getStarSoul(starSoulBore.getUid()).getLevel(); if (temppp == -1 || temppp > lv) { temppp = lv; } } } for (int i = 0; i < starList.Count; i++) { if (ii == 0) //当前等级 { if (starList[i].needLv > temppp) { rssList.Add(starList[i == 0 ? 0 : i - 1]); showTypeNum = false; return(rssList); } if (i != starList.Count - 1 || starList[i].needLv > temppp) { continue; } rssList.Add(starList[starList.Count - 1]); return(rssList); } if (starList[i].needLv > temppp) { rssList.Add(starList[i]); showTypeNum = false; return(rssList); } if (i != starList.Count - 1 || starList[i].needLv > temppp) { continue; } rssList.Add(starList[starList.Count - 1]); showTypeNum = false; return(rssList); } return(null); }