コード例 #1
0
    override public void parse(int sid, string str)
    {
        this.sid = sid;
        string[] strArr = str.Split('|');
        //checkLength (strArr.Length, 30);

        //strArr[0] is sid
        //strArr[1] name
        this.name = strArr [1];
        //strArr[2] iconId
        this.imageID = StringKit.toInt(strArr [2]);
        //strArr[2] iconId
        this.iconID = StringKit.toInt(strArr [3]);

        //strArr[3] levelId
        this.levelId = StringKit.toInt(strArr [4]);
        //strArr[4] qualityId
        this.qualityId = StringKit.toInt(strArr [5]);
        //strArr[5] maxLevel
        this.maxLevel = StringKit.toInt(strArr [6]);
        //strArr[6] starLevel
        this.starLevel = StringKit.toInt(strArr [7]);

        //strArr[7] baseLife
        this.baseLife = StringKit.toInt(strArr [8]);
        //strArr[8] baseAttack
        this.baseAttack = StringKit.toInt(strArr [9]);
        //strArr[9] baseDefecse
        this.baseDefecse = StringKit.toInt(strArr [10]);
        //strArr[10] baseMagic
        this.baseMagic = StringKit.toInt(strArr [11]);
        //strArr[11] baseAgile
        this.baseAgile = StringKit.toInt(strArr [12]);

        //strArr[12] developLife
        this.developLife = StringKit.toInt(strArr [13]);
        //strArr[13] developAttack
        this.developAttack = StringKit.toInt(strArr [14]);
        //strArr[14] developDefecse
        this.developDefecse = StringKit.toInt(strArr [15]);
        //strArr[15] developMagic
        this.developMagic = StringKit.toInt(strArr [16]);
        //strArr[16] developAgile
        this.developAgile = StringKit.toInt(strArr [17]);

        //strArr[17] deadWords
        this.deadWords = strArr [18];
        //strArr[18] effectId
        this.effectId = StringKit.toInt(strArr [19]);
        //strArr[19] features
        parseFeatures(strArr [20]);
        //strArr[20] cardType
        this.cardType = StringKit.toInt(strArr [21]);
        //strArr[21] skillsNum
        parseSkillsNum(strArr [22]);
        //strArr[22] eatenExp
        this.eatenExp = StringKit.toInt(strArr [23]);
        //strArr[23] sell
        this.sell = StringKit.toInt(strArr [24]);
        //strArr[24] job
        this.job = StringKit.toInt(strArr [25]);
        //strArr[25]  evolveSid
        this.evolveSid = StringKit.toInt(strArr [26]);

        parseSkills(strArr [27]);

        parseResolve(strArr [28]);
        parseAttrLevel(strArr [29]);

        this.evoStarLevel  = StringKit.toInt(strArr [30]);
        this.bloodPointSid = StringKit.toInt(strArr[31]);
        this.sFlagLevel    = StringKit.toInt(strArr[32]);
        if (strArr.Length > 33)
        {
            parseSameSid(strArr[33]);
        }
    }
コード例 #2
0
    //[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);
            }
        }
    }
コード例 #3
0
    public override void read(ErlKVMessage message)
    {
        ErlArray array = message.getValue("msg") as ErlArray;

        if (array != null)
        {
            ArenaManager.instance.self = null;
            int state = ArenaManager.instance.state = StringKit.toInt(array.Value[0].getValueString());
            ArenaManager.instance.stateEndTime = StringKit.toInt(array.Value[1].getValueString());
            ArenaManager.instance.finalRound   = StringKit.toInt(array.Value[2].getValueString());
            ArenaManager.instance.finalCD      = StringKit.toInt(array.Value[3].getValueString()) + 60;
            if (ArenaManager.instance.finalCD < 60)
            {
                ArenaManager.instance.finalDelay = ArenaManager.instance.finalCD;
            }
            else
            {
                ArenaManager.instance.finalDelay = 0;
            }

            if (state >= ArenaManager.STATE_64_32 && state <= ArenaManager.STATE_RESET)
            {
                array = array.Value[4] as ErlArray;
                ArenaManager.instance.finalInfoList = new List <ArenaFinalInfo>();
                for (int i = 0; i < 127; i++)
                {
                    int            pos  = 0;
                    ErlArray       arr  = array.Value[i] as ErlArray;
                    ArenaFinalInfo info = new ArenaFinalInfo();
                    info.startTime = StringKit.toInt(arr.Value[pos++].getValueString());

                    if (arr.Value.Length > 2)
                    {
                        info.guessStartTime = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.guessEndTime   = StringKit.toInt(arr.Value[pos++].getValueString());

                        info.uid      = arr.Value[pos++].getValueString();
                        info.userName = arr.Value[pos++].getValueString();
                        info.userIcon = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.lose     = bool.Parse(arr.Value[pos++].getValueString());
                        info.index    = StringKit.toInt(arr.Value[pos++].getValueString());
                        info.guessed  = bool.Parse(arr.Value[pos++].getValueString());
                    }
                    else if (arr.Value[pos].getValueString() != "none")
                    {
                        info.userId = arr.Value[pos].getValueString();
                    }
                    ArenaManager.instance.finalInfoList.Add(info);
                }
            }
            else
            {
                ArenaManager.instance.finalInfoList = null;
            }
        }
        else
        {
            ArenaManager.instance.finalInfoList = null;
            ArenaManager.instance.state         = -1;
        }
        if (callback != null)
        {
            callback();
            callback = null;
        }
    }
コード例 #4
0
    public override void read(ErlKVMessage message)
    {
        base.read(message);
        ErlType type = message.getValue("msg") as ErlType;

        if (type.getValueString() == "ok")
        {
            ErlList        list = message.getValue("info") as ErlList;
            ErlArray       itemArray;
            string         key;
            TurnSpriteData data = new TurnSpriteData();
            for (int i = 0; i < list.Value.Length; i++)
            {
                itemArray = list.Value [i] as ErlArray;
                key       = itemArray.Value [0].getValueString();
                switch (key)
                {
                case "cd":
                    data.cd = StringKit.toInt(itemArray.Value [1].getValueString());
                    break;

                case "num":
                    data.num = StringKit.toInt(itemArray.Value [1].getValueString());
                    break;

                case "max_num":
                    data.num_max = StringKit.toInt(itemArray.Value[1].getValueString());
                    break;

                case "last_time":
                    data.lastTime = StringKit.toInt(itemArray.Value [1].getValueString());
                    break;

                case "pool":
                    ErlArray poolArray = itemArray.Value[1] as ErlArray;
                    for (int k = 0; k < poolArray.Value.Length; k++)
                    {
                        ErlArray         rewardArray = poolArray.Value[k] as ErlArray;
                        TurnSpriteReward reward      = new TurnSpriteReward();
                        int offset = 0;
                        reward.num  = StringKit.toInt(rewardArray.Value[offset++].getValueString());
                        reward.type = rewardArray.Value[offset++].getValueString();
                        reward.sid  = StringKit.toInt(rewardArray.Value[offset++].getValueString());
                        data.rewardList.Add(reward);
                    }
                    break;
                }
            }
            if (sid == 0)
            {
                NoticeManagerment.Instance.turnSpriteData = data;
            }
            else
            {
                NoticeManagerment.Instance.xs_turnSpriteData = data;
            }
            if (callBack != null)
            {
                callBack();
                callBack = null;
            }
        }
    }
コード例 #5
0
    /// <summary>
    /// 占卜后回调
    /// </summary>
    /// <param name="num">增加运势.</param>
    /// <param name="awardSid">基础奖励sid.</param>
    /// <param name="shareAward">分享额外增加运势.</param>
    private void OnDivineSendBack(int num, int awardSid, int shareAward)
    {
        UserManager.Instance.self.canDivine = false;
        nvshen.SetActive(false);

        int add = num;        //num - UserManager.Instance.self.divineFortune;

        if (add <= 0)
        {
            finishWindow();
            return;
        }
        Destroy(effect);
        if (shareAward > 0)
        {
            lblYunShiTitle.text = LanguageConfigManager.Instance.getLanguage("divine_01", UserManager.Instance.self.divineFortune.ToString(), add.ToString(), shareAward.ToString());
        }
        else
        {
            lblYunShiTitle.text = LanguageConfigManager.Instance.getLanguage("divine_010", UserManager.Instance.self.divineFortune.ToString(), add.ToString());
        }
        int max    = StringKit.toInt(LanguageConfigManager.Instance.getLanguage("divine_yunshi_" + add + "_count"));
        int random = Random.Range(0, max);

        lblYunShiContent.text = LanguageConfigManager.Instance.getLanguage("divine_yunshi_" + add + "_" + random);
        lblMyInfo.text        = LanguageConfigManager.Instance.getLanguage("divine_06", UserManager.Instance.self.divineFortune.ToString(), add.ToString());
        if (shareAward > 0)
        {
            lblMyInfo.text += string.Format(Colors.RED + LanguageConfigManager.Instance.getLanguage("divine_07") + "[-]", shareAward);
        }

        //刷新我的运势
        //int oldDivineFortune = UserManager.Instance.self.divineFortune;

        int addTotalValue = num + shareAward;

        UserManager.Instance.self.addDivineFortune(addTotalValue);

        //隐藏占卜前的奖励提示
        awards [0].transform.parent.parent.gameObject.SetActive(true);
//		awardText01.gameObject.SetActive (false);
        awardText02.gameObject.SetActive(false);
        awardTips01.gameObject.SetActive(false);
        awardTips02.gameObject.SetActive(false);
        //获得奖励样本
        ArenaAwardSample sample = ArenaAwardSampleManager.Instance.getArenaAwardSampleBySid(awardSid);
        int awardConut          = 0;

        if (sample != null)
        {
            PrizeSample[] ps = sample.prizes;
            for (int i = 0; i < awards.Length && ps != null && i < ps.Length; i++)
            {
                awards [i].gameObject.SetActive(true);
                awards [i].init(ps [i]);
                awards [i].fatherWindow = this;
                awardConut = i;
            }
        }

        //根据运势值获得的奖励
        int divineFortune                = UserManager.Instance.self.divineFortune;
        int oldDivineFortune             = divineFortune - addTotalValue;
        List <ArenaAwardSample> infoList = ArenaAwardSampleManager.Instance.getSamplesByType(AWARD_TYPE);
        ArenaAwardSample        a;

        PrizeSample[] sampleAward = null;
        for (int i = 0; i < infoList.Count; ++i)
        {
            a = infoList[i];
            if (a.condition == 0)
            {
                continue;
            }
            if (oldDivineFortune < a.condition && divineFortune >= a.condition)
            {
                sampleAward = a.prizes;
            }
        }
//		List<ArenaAwardSample> infoList = ArenaAwardSampleManager.Instance.getSamplesByType (AWARD_TYPE);
//		PrizeSample[] sampleAward = null;
//		for (int i = 0; i < infoList.Count; i++) {
//			if (infoList [i].condition != 0 && divineFortune == infoList [i].condition && i + 1 < infoList.Count && divineFortune < infoList [i + 1].condition) {
//				sampleAward = infoList [i].prizes;
//			} else if (infoList [i].condition != 0 && divineFortune >= infoList [i].condition && i + 1 >= infoList.Count) {
//				sampleAward = infoList [i].prizes;
//			}
//		}
        if (sampleAward != null)
        {
            for (int j = 0; j < sampleAward.Length; j++)
            {
                awards [3 + j].gameObject.SetActive(true);
                awards [3 + j].init(sampleAward [j]);
                awards [3 + j].fatherWindow = this;
            }
        }
        btnDivine.SetActive(false);
        btnDivineShare.SetActive(false);
        btnClose.SetActive(true);
        updateExp();
        yunshi.SetActive(true);
        MaskWindow.UnlockUI();
        //TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("divine_03"));
    }