//[40,1,[[[40000002,1]],[[[consume_rmb,6701]],[[[role_times,40000002],1]]]]]
    //[40,1,not_open|no_sid]
    public void parseInfo(ErlArray arr)
    {
        int      activeID   = StringKit.toInt(arr.Value[0].getValueString()); //活动id
        int      activeType = StringKit.toInt(arr.Value[1].getValueString()); //活动类型
        ErlArray temp       = arr.Value[2] as ErlArray;
        int      num;

        if (activeType == TYPEOF_CONSUME_REBATE)
        {
            temp = arr.Value[2] as ErlArray;
            if (temp == null || temp.Value.Length < 1)
            {
                initConsumeRebateGoods(activeID);
            }
            else
            {
                initConsumeRebateGoods(activeID, temp.Value[0] as ErlArray, temp.Value[1] as ErlArray);
            }
        }
        else if (activeType == TYPEOF_RECHARGE || activeType == TYPEOF_CONSUME)
        {
            temp = arr.Value[2] as ErlArray;
            if (temp == null || temp.Value.Length < 1)
            {
                initNewRecharge(activeID);//充值小活动
            }
            else
            {
                num = StringKit.toInt(temp.Value[1].getValueString());
                ErlArray ea = (temp.Value[0] as ErlArray).Value[0] as ErlArray;
                initNewRecharge(activeID, StringKit.toInt(ea.Value[1].getValueString()), num);
            }
        }
        else if (activeType == TYPEOF_EXCHANGE)
        {
            temp = arr.Value[2] as ErlArray;
            if (temp == null || temp.Value.Length < 1)
            {
                initNewExchange(activeID);
            }
            else
            {
                initNewExchange(activeID, temp.Value[0] as ErlArray, temp.Value[1] as ErlArray);
            }
        }
        else if (activeType == TYPEOF_DOUBLE_RMB)
        {
            //[55,5,1|not open]
            if (arr.Value[2].getValueString() == "1")
            {
                DoubleRMBManagement.Instance.isEnd = true;
            }
            initDoubleRmb(activeID, arr.Value[2].getValueString() == "1");
        }
        else if (activeType == TYPEOF_EQUIP_REMAKE)
        {
            activeInfo.put(activeID, new DoubleRMBInfo(activeID, arr.Value[2].getValueString() == "1"));
        }
        else if (activeType == TYPEOF_LIMIT_COLLECT)
        {
            LimitCollectSample sample = LimitCollectSampleManager.Instance.getSampleBySid(activeID);
            if (sample != null)
            {
                sample.clearCollected();
            }
            if (temp != null)
            {
                initLimitCollectData(activeID, temp);
            }
        }
    }