Exemplo n.º 1
0
    /// <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;
        }
    }
Exemplo n.º 2
0
    /// <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;
        }
    }