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++; }
/// <summary> /// 卸星魂通讯读取处理 /// </summary> /// <param name="message">Message.</param> private void doPutoffStarSoul(ErlKVMessage message) { ErlType erlType = message.getValue("value") as ErlType; if (erlType is ErlArray) { ErlArray arr = erlType as ErlArray; int index = 0; string cardUid = arr.Value [index++].getValueString(); int hole = StringKit.toInt(arr.Value [index++].getValueString()); string starsoulUid = arr.Value [index++].getValueString(); StarSoulManager.Instance.delSoulStarState(cardUid, hole); StorageManagerment smanager = StorageManagerment.Instance; Card card = smanager.getRole(cardUid); if (card != null) { card.delStarSoulBoreByIndex(hole); } StorageManagerment.Instance.starSoulStorageVersion++; if (callback != null) { callback(); callback = null; } } else { UiManager.Instance.openDialogWindow <MessageWindow> ((win) => { win.initWindow(1, LanguageConfigManager.Instance.getLanguage("s0093"), null, erlType.getValueString(), null); }); } }
public void delSoulStarState(string cardUid, int hole) { StorageManagerment smanager = StorageManagerment.Instance; Card card = smanager.getRole(cardUid); if (card != null) { card.delStarSoulBoreByIndex(hole); activeCard = card; } StorageManagerment.Instance.starSoulStorageVersion++; uid = ""; _hole = 0; }