public void setSoulStarState(string cardUid, int hole, string starsoulUid) { StorageManagerment smanager = StorageManagerment.Instance; Card card = smanager.getRole(cardUid); if (card != null) { // 设置被替换的星魂状态为未装备(如果是直接穿装备则不执行) StarSoulBore oldStarSoulBore = card.getStarSoulBoreByIndex(hole); if (oldStarSoulBore != null) { StarSoul oldStarSoul = smanager.getStarSoul(oldStarSoulBore.getUid()); if (oldStarSoul != null) { oldStarSoul.unState(EquipStateType.OCCUPY); oldStarSoul.isNew = false; } } // 设置被穿的星魂状态为装备 StarSoul starSoul = smanager.getStarSoul(starsoulUid); if (starSoul != null) { starSoul.setState(EquipStateType.OCCUPY); starSoul.isNew = false; } card.addStarSoulBore(starsoulUid, hole); activeCard = card; } StorageManagerment.Instance.starSoulStorageVersion++; }
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(); }
/***/ public override void DoClickEvent() { base.DoClickEvent(); if (stateType == ButtonStoreStarSoul.ButtonStateType.Power) // 强化 { UiManager.Instance.openWindow <StarSoulStoreStrengWindow>((win) => { win.init(starSoul); }); } else if (stateType == ButtonStoreStarSoul.ButtonStateType.Replace) // 替换 { StarSoulManager manager = StarSoulManager.Instance; Card activeCard = manager.getActiveCard(); int activeBoreIndex = manager.getActiveBoreIndex(); tempStarSoul = manager.getActiveStarSoulDese(); if (activeCard == null || activeBoreIndex == -1) { MaskWindow.UnlockUI(); return; } StarSoulBore starBore = activeCard.getStarSoulBoreByIndex(activeBoreIndex); StarSoul ss = null; if (starBore != null) { ss = StorageManagerment.Instance.getStarSoul(starBore.getUid()); } StarSoulManager.Instance.setState(1); StarSoulManager.Instance.setActiveSoulStarInfo(activeCard.uid, starSoul.uid, activeBoreIndex); // 与服务器通讯 (FPortManager.Instance.getFPort("StarSoulEquipFPort") as StarSoulEquipFPort).putOnEquipStarSoulAccess(activeCard.uid, starSoul.uid, activeBoreIndex, () => { putOnFinished(); }); } else if (stateType == ButtonStoreStarSoul.ButtonStateType.PutOn) // 穿戴 { StarSoulManager manager = StarSoulManager.Instance; Card activeCard = manager.getActiveCard(); int activeBoreIndex = manager.getActiveBoreIndex(); tempStarSoul = manager.getActiveStarSoulDese(); if (activeCard == null || activeBoreIndex == -1) { MaskWindow.UnlockUI(); return; } StarSoulManager.Instance.setState(2); StarSoulManager.Instance.setActiveSoulStarInfo(activeCard.uid, starSoul.uid, activeBoreIndex); // 与服务器通讯 (FPortManager.Instance.getFPort("StarSoulEquipFPort") as StarSoulEquipFPort).putOnEquipStarSoulAccess(activeCard.uid, starSoul.uid, activeBoreIndex, () => { putOnFinished(); }); } }
/// <summary> /// 得到活动的星魂的描述 /// </summary> /// <returns>The active star soul dese.</returns> public string getActiveStarSoulDese() { Card card = getActiveCard(); int index = getActiveBoreIndex(); StarSoulBore starBore = card.getStarSoulBoreByIndex(index); if (starBore != null) { StarSoul ss = StorageManagerment.Instance.getStarSoul(starBore.getUid()); if (ss != null) { return(getStarSoulDese(ss)); } } return(null); }
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); }
/// <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); } } } } }