/// <summary> /// 普通裂魂 /// </summary> private void huntStarSoul(int index, ErlArray arr) { StarSoulManager manager = StarSoulManager.Instance; StorageManagerment smanager = StorageManagerment.Instance; ArrayList starSouls = new ArrayList(); // 猎魂库sid int huntLibSid = StringKit.toInt(arr.Value [index++].getValueString()); manager.setHuntQuality(huntLibSid); ErlArray starSoulArr = arr.Value [index++] as ErlArray; if (starSoulArr != null && starSoulArr.Value.Length > 0) { StarSoul starSoul; for (int i = 0; i < starSoulArr.Value.Length; i++) { starSoul = manager.createStarSoul(starSoulArr.Value[i] as ErlArray); smanager.addHuntStarSoulStorage(starSoul, true); starSoul.isNew = false; starSouls.Add(starSoul); } StorageManagerment.Instance.huntStarSoulStorageVersion++; } int num = StringKit.toInt(arr.Value[index++].getValueString()); manager.setDebrisNumber(manager.getDebrisNumber() + num); if (callback != null) { callback(starSouls, num, huntLibSid); callback = null; } }
/// <summary> /// 钻石裂魂 /// </summary> private void HuntStarSoulByRmb(int index, ErlArray arr) { StarSoulManager manager = StarSoulManager.Instance; StorageManagerment smanager = StorageManagerment.Instance; ArrayList starSouls = new ArrayList(); int debrisNumber = StringKit.toInt(arr.Value [index++].getValueString()); if (debrisNumber > 0) { manager.addDebrisNumber(debrisNumber); } ErlArray starSoulArr = arr.Value [index++] as ErlArray; if (starSoulArr != null && starSoulArr.Value.Length > 0) { StarSoul starSoul; for (int i = 0; i < starSoulArr.Value.Length; i++) { starSoul = manager.createStarSoul(starSoulArr.Value[i] as ErlArray); smanager.addHuntStarSoulStorage(starSoul, true); starSoul.isNew = false; starSouls.Add(starSoul); } StorageManagerment.Instance.huntStarSoulStorageVersion++; } if (callback != null) { callback(starSouls, debrisNumber, 0); callback = null; } }