public override void read(ErlKVMessage message) { ErlType data = message.getValue("msg") as ErlType; if (data != null && data is ErlArray) { ErlArray arr = data as ErlArray; MiningManagement.Instance.SearchTimes = StringKit.toInt(arr.Value[0].getValueString()); ErlArray arr_mineral = arr.Value[1] as ErlArray; for (int i = 0; i < arr_mineral.Value.Length; i++) { ErlArray mineral = arr_mineral.Value[i] as ErlArray; MineralInfo info = new MineralInfo(); info.localId = StringKit.toInt(mineral.Value [0].getValueString()); info.sid = StringKit.toInt(mineral.Value [1].getValueString()); info.armyId = StringKit.toInt(mineral.Value [2].getValueString()); info.startTime = StringKit.toLong(mineral.Value [3].getValueString()); info.balanceTime = StringKit.toLong(mineral.Value [4].getValueString()); info.balanceCount = StringKit.toInt(mineral.Value [5].getValueString()); MiningManagement.Instance.minerals[info.localId] = null; MiningManagement.Instance.AddMineral(info); } if (this.callback != null) { callback(); } } }
public override void read(ErlKVMessage message) { ErlType msg = message.getValue("msg") as ErlType; if (msg is ErlAtom) { MessageWindow.ShowAlert(msg.getValueString()); } else { ErlArray info = msg as ErlArray; int type = StringKit.toInt(info.Value[0].getValueString()); if (type == 1) { LastBattleManagement.Instance.newProcess = StringKit.toInt(info.Value[1].getValueString()); } else if (type == 2) { LastBattleManagement.Instance.donationNextUpdateTime = StringKit.toInt(info.Value[1].getValueString()); // 捐献列表// ErlArray donations = info.Value[2] as ErlArray; (FPortManager.Instance.getFPort("LastBattleInitFPort") as LastBattleInitFPort).updateDonationList(donations); } else if (type == 3) { LastBattleManagement.Instance.bossID = StringKit.toInt(info.Value[1].getValueString()); LastBattleManagement.Instance.currentBossHP = StringKit.toLong(info.Value[2].getValueString()); LastBattleManagement.Instance.bossTotalHP = StringKit.toLong(info.Value[3].getValueString()); } if (callBack != null) { callBack(); } } }
/// <summary> /// 更新UI /// </summary> private void updateUI() { notOpen.gameObject.SetActive(false); bossNameSprite.gameObject.SetActive(true); challengeTimes.gameObject.SetActive(true); buyButton.gameObject.SetActive(true); tips.SetActive(false); BossInfoSample bossSample = BossInfoSampleManager.Instance.getBossInfoSampleBySid(AttackBossOneOnOneManager.Instance.bossSid); if (bossSample == null) { return; } //boss形象 ResourcesManager.Instance.LoadAssetBundleTexture(ResourcesManager.CARDIMAGEPATH + AttackBossOneOnOneManager.Instance.getBossIcon(), bossTexture); //boss弱点描述 string des = AttackBossOneOnOneManager.Instance.getWeakNess(); weakDes.text = des; //总伤害 totalDamage.text = AttackBossOneOnOneManager.Instance.getTotalDamage(); //挑战次数信息 challengeTimes.text = LanguageConfigManager.Instance.getLanguage("OneOnOneBoss_011", ((AttackBossOneOnOneManager.Instance.canChallengeTimes + AttackBossOneOnOneManager.Instance.buyTimes) + "/" + CommandConfigManager.Instance.getTimesOfDay())); //boss名字 bossNameSprite.spriteName = "bossName_" + bossSample.nameID; AttackBossOneOnOneManager.Instance.damageTemp = StringKit.toLong(AttackBossOneOnOneManager.Instance.getTotalDamage()); MaskWindow.UnlockUI(); }
/// <summary> /// 强化星魂通讯读取处理 /// </summary> /// <param name="message">Message.</param> private void doStrengStarSoul(ErlKVMessage message) { ErlType erlType = message.getValue("value") as ErlType; if (erlType is ErlArray) { ErlArray arr = erlType as ErlArray; int index = 0; string uid = arr.Value [index++].getValueString(); long exp = StringKit.toLong(arr.Value [index++].getValueString()); StorageManagerment smanager = StorageManagerment.Instance; StarSoulManager manager = StarSoulManager.Instance; StarSoul starSoul = smanager.getStarSoul(uid); if (starSoul != null) { manager.delStarSoulExp(exp); starSoul.updateExp(starSoul.getEXP() + exp); starSoul.isNew = false; } 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); }); } }
//更新任务信息 private void updateTask(ErlArray erlarr) { if (array == null || array.Count < 1) { throw new Exception(GetType() + "updateLuckyDraw error! array is null"); } if (erlarr == null || erlarr.Value.Length < 1) { return; } for (int i = 0; i < array.Count; i++) { int sid = array [i].sid; int _sid = StringKit.toInt(erlarr.Value [0].getValueString()); if (sid == _sid) { if (StringKit.toInt((erlarr.Value [3] as ErlType).getValueString()) == 1) { array.Remove(array[i]); return; } int index = StringKit.toInt(erlarr.Value [1].getValueString()); array [i].updateProgress(index); ErlArray arr = erlarr.Value [2] as ErlArray; if (arr.Value.Length != 0) { array [i].updateConditionKey(StringKit.toLong(arr.Value [0].getValueString())); } return; } } }
private IEnumerator test() { WWW w = FPortManager.Instance.getFPort <CashFPort> ().httpCash(((StringKit.toLong(UserManager.Instance.self.uid) << 32) >> 32).ToString(), "1", "1", StringKit.toInt(goods.amount)); yield return(w); fatherWindow.finishWindow(); }
/** 序列化读取可变属性数据 */ public override void bytesRead(int j, ErlArray ea) { this.uid = ea.Value [j++].getValueString(); this.sid = StringKit.toInt(ea.Value [j++].getValueString()); updateExp(StringKit.toLong(ea.Value [j++].getValueString())); this.state = StringKit.toInt(ea.Value [j++].getValueString()); // this.partId = StringKit.toInt (ea.Value [j++].getValueString ()); }
private void parseEXP(string str) { string[] strArr = str.Split(','); exps = new long[strArr.Length]; for (int i = 0; i < strArr.Length; i++) { exps [i] = StringKit.toLong(strArr [i]); } }
private long[] parseLongArray(string str) { string[] strArr = str.Split(','); long[] array = new long[strArr.Length]; for (int i = 0; i < strArr.Length; i++) { array [i] = StringKit.toLong(strArr [i]); } return(array); }
public static PvpOppInfo pares(ErlArray list) { int index = 0; string uid = list.Value [index++].getValueString(); string name = list.Value [index++].getValueString(); string guildName = list.Value [index++].getValueString(); int headIcon = StringKit.toInt(list.Value [index++].getValueString()); long exp = StringKit.toLong(list.Value [index++].getValueString()); int state = StringKit.toInt(list.Value [index++].getValueString()); ErlArray lists = list.Value [index++] as ErlArray; int combat = StringKit.toInt(list.Value [index++].getValueString()); int allCombat = StringKit.toInt(list.Value [index++].getValueString()); //队伍中所有卡片战斗力 对于10人阵而言 int star = StringKit.toInt(list.Value [index++].getValueString()); int vipLv = StringKit.toInt(list.Value [index++].getValueString()); index = 0; int formation = StringKit.toInt(lists.Value [index++].getValueString()); ErlArray bArray = lists.Value [index++] as ErlArray; int beastSid = 0; long beastExp = 0; string beastUid = ""; if (bArray.Value.Length != 0) { beastSid = StringKit.toInt(bArray.Value [0].getValueString()); beastExp = StringKit.toLong(bArray.Value [1].getValueString()); beastUid = bArray.Value [2].getValueString(); } ErlArray tArray = lists.Value [index++] as ErlArray; index = 0; List <PvpOppTeam> ptList = new List <PvpOppTeam> (); for (int j = 0; j < tArray.Value.Length; j++) { ErlArray ea = tArray.Value [j] as ErlArray; if (ea.Value.Length != 0) { int teamOppSid = StringKit.toInt(ea.Value [0].getValueString()); long teamOppExp = StringKit.toLong(ea.Value [1].getValueString()); string teamOppUid = ea.Value [2].getValueString(); int evoLevel = StringKit.toInt(ea.Value [3].getValueString()); int surLevel = StringKit.toInt(ea.Value [4].getValueString()); int teamOppIndex = j; PvpOppTeam pt = new PvpOppTeam(teamOppSid, teamOppExp, teamOppIndex, teamOppUid, evoLevel, surLevel); ptList.Add(pt); } } PvpOppInfo opp = new PvpOppInfo(uid, name, guildName, headIcon, exp, state, formation, beastSid, beastExp, beastUid, ptList.ToArray(), combat, star, vipLv); opp.allCombat = allCombat; return(opp); }
public Equip createEquip(ErlArray array) { int j = 0; int arrayLength = array.Value.Length; string uid = array.Value [j++].getValueString(); int sid = StringKit.toInt(array.Value [j++].getValueString()); long exp = StringKit.toLong(array.Value [j++].getValueString()); int state = StringKit.toInt(array.Value [j++].getValueString()); //特殊处理,聊天分享中存在装备,后台没给升星等级,按0级处理。 int starLevel = (j == arrayLength ? 0 : StringKit.toInt(array.Value[j++].getValueString()));//StringKit.toInt (array.Value [j++].getValueString ()); long reexp = StringKit.toLong(array.Value[j++].getValueString()); return(new Equip(uid, sid, exp, state, starLevel, reexp)); }
public override void read(ErlKVMessage message) { ErlType data = message.getValue("msg") as ErlType; if (data != null) { if (!(data is ErlArray)) { string str = (data as ErlAtom).Value; if (str == "timeout") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_timeout")); } } else { ErlArray arr = data as ErlArray; MiningManagement.Instance.NewEnemyNum = StringKit.toInt(arr.Value[0].getValueString()); MiningManagement.Instance.ClearEnemyInfoList(); ErlArray peies = arr.Value[1] as ErlArray; for (int i = 0; i < peies.Value.Length; i++) { ErlArray info = peies.Value[i] as ErlArray; int k = 0; PillageEnemyInfo pei = new PillageEnemyInfo(); pei.node = info.Value[k++].getValueString(); pei.RoleUid = info.Value[k++].getValueString(); pei.HeadIconId = StringKit.toInt(info.Value[k++].getValueString()); pei.playerName = info.Value[k++].getValueString(); pei.serverName = info.Value[k++].getValueString(); pei.time = StringKit.toLong(info.Value[k++].getValueString()); pei.sid = StringKit.toInt(info.Value[k++].getValueString()); pei.count = StringKit.toInt(info.Value[k++].getValueString()); ErlArray minerals = info.Value[k++] as ErlArray; for (int j = 0; j < minerals.Value.Length; j++) { ErlArray mineral = minerals.Value[j] as ErlArray; pei.minerals.Add(StringKit.toInt(mineral.Value[0].getValueString()), StringKit.toInt(mineral.Value[1].getValueString())); } MiningManagement.Instance.AddEnemyInfoList(pei); } } } if (this.callback != null) { callback(); } }
public override void read(ErlKVMessage message) { ErlType data = message.getValue("msg") as ErlType; if (data != null) { if (!(data is ErlArray)) { string str = (data as ErlAtom).Value; if (str == "limit") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_limit")); } else if (str == "sid_error") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_sid_error")); } else if (str == "no_array") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_no_array")); } else if (str == "array_busy") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_array_busy")); } else if (str == "local_exist") { MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("mining_local_exist")); } } else { ErlArray arr = data as ErlArray; MineralInfo info = new MineralInfo(); info.localId = StringKit.toInt(arr.Value [0].getValueString()); info.sid = StringKit.toInt(arr.Value [1].getValueString()); info.armyId = StringKit.toInt(arr.Value [2].getValueString()); info.startTime = StringKit.toLong(arr.Value [3].getValueString()); info.balanceTime = StringKit.toLong(arr.Value [4].getValueString()); info.balanceCount = StringKit.toInt(arr.Value [5].getValueString()); MiningManagement.Instance.AddMineral(info); if (this.callback != null) { callback(); } } } }
public LotteryData parseLotteryData(string str) { LotteryData data = new LotteryData(); string[] strs = str.Split('#'); data.selectNumEndTime = StringKit.toInt(strs[0]); data.awardNumEndTime = StringKit.toInt(strs[1]); data.openTime = parseTime(strs[2]); data.sid = StringKit.toInt(strs[3]); data.limitLv = StringKit.toInt(strs[4]); data.costGold = StringKit.toLong(strs[5]); data.costRmb = StringKit.toInt(strs[6]); data.updateLotteryMoneyTime = StringKit.toInt(strs[7]); data.sendAwardEndTime = StringKit.toInt(strs[8]); return(data); }
/** 专为公会战而生 */ public static PvpOppInfo paresInfo(ErlArray list) { int index = 0; string name = list.Value [index++].getValueString(); int vip = StringKit.toInt(list.Value [index++].getValueString()); int headIcon = StringKit.toInt(list.Value [index++].getValueString()); long exp = StringKit.toLong(list.Value [index++].getValueString()); int star = StringKit.toInt(list.Value [index++].getValueString()); int beastSid = 0; long beastExp = 0; ErlType beastType = list.Value [index++]; if (beastType.getValueString() != "none") { ErlArray beastArray = beastType as ErlArray; beastSid = StringKit.toInt(beastArray.Value[0].getValueString()); beastExp = StringKit.toLong(beastArray.Value[1].getValueString()); } ErlArray cardArray = list.Value [index++] as ErlArray; List <PvpOppTeam> ptList = new List <PvpOppTeam> (); for (int i = 0; i < cardArray.Value.Length; i++) { ErlArray ea = cardArray.Value [i] as ErlArray; if (ea.Value.Length != 0) { int teamOppSid = StringKit.toInt(ea.Value [0].getValueString()); long teamOppExp = StringKit.toLong(ea.Value [1].getValueString()); int evoLevel = StringKit.toInt(ea.Value [2].getValueString()); int surLevel = StringKit.toInt(ea.Value [3].getValueString()); int teamOppIndex = StringKit.toInt(ea.Value [4].getValueString()); /** 这个位置是后台算的位置,为了配合其他位置,需要调整数值 */ teamOppIndex--; int hpNow = StringKit.toInt(ea.Value [5].getValueString()); int hpMax = StringKit.toInt(ea.Value [6].getValueString()); PvpOppTeam pt = new PvpOppTeam(teamOppSid, teamOppExp, teamOppIndex, evoLevel, surLevel, hpNow, hpMax); ptList.Add(pt); } } string guildName = list.Value [index++].getValueString(); PvpOppInfo opp = new PvpOppInfo(name, vip, headIcon, exp, star, beastSid, beastExp, ptList.ToArray(), guildName); return(opp); }
//解析ErlKVMessgae public void parseKVMsg(ErlKVMessage message) { ErlType msg = message.getValue("msg") as ErlType; if (msg is ErlArray) { ErlArray arr = msg as ErlArray; long exp = StringKit.toLong(arr.Value [0].getValueString()); //圣器经验 ErlArray arr2 = arr.Value [1] as ErlArray; int day = StringKit.toInt(arr2.Value [0].getValueString()); //日期 天 int count = StringKit.toInt(arr2.Value [1].getValueString()); //已经使用免费强化次数 BeastEvolveManagerment.Instance.setHallowExp(exp); BeastEvolveManagerment.Instance.setHallowDay(day); BeastEvolveManagerment.Instance.setHallowCount(count); } else { MonoBase.print(GetType() + "error:" + msg); } }
/// <summary> /// 执行修炼通讯读取处理 /// </summary> private void doPowerAccess(ErlArray erlArray, int index) { string msgInfo = erlArray.Value [index++].getValueString(); if (msgInfo == "ok") { long exp = StringKit.toLong(erlArray.Value [index++].getValueString()); MountsManagerment.Instance.addMountsExp(exp); } else { UiManager.Instance.openDialogWindow <MessageWindow> ((win) => { win.initWindow(1, LanguageConfigManager.Instance.getLanguage("s0093"), null, msgInfo, null); }); } if (callback != null) { callback(); callback = null; } }
public override void bytesRead(int j, ErlArray ea) { tempExp = 0; this.uid = ea.Value [j++].getValueString(); this.sid = StringKit.toInt(ea.Value [j++].getValueString()); tempExp = StringKit.toLong(ea.Value [j++].getValueString()); this.hpExp = StringKit.toInt(ea.Value [j++].getValueString()); this.attExp = StringKit.toInt(ea.Value [j++].getValueString()); this.magicExp = StringKit.toInt(ea.Value [j++].getValueString()); this.defExp = StringKit.toInt(ea.Value [j++].getValueString()); this.agileExp = StringKit.toInt(ea.Value [j++].getValueString()); this.attrskills = SkillManagerment.Instance.createSkills(ea.Value [j++] as ErlArray, SkillStateType.ATTR); this.buffskills = SkillManagerment.Instance.createSkills(ea.Value [j++] as ErlArray, SkillStateType.BUFF); this.skills = SkillManagerment.Instance.createSkills(ea.Value [j++] as ErlArray, SkillStateType.ACTIVE); this.equips = EquipManagerment.Instance.getEquipId(ea.Value [j++] as ErlArray); this.state = StringKit.toInt(ea.Value [j++].getValueString()); this.evoLevel = StringKit.toInt(ea.Value [j++].getValueString()); this.surLevel = StringKit.toInt(ea.Value [j++].getValueString()); this.mainSkillSlot = StringKit.toInt(ea.Value [j++].getValueString()); this.attrSkillSlot = StringKit.toInt(ea.Value [j++].getValueString()); this.buffSkillSlot = StringKit.toInt(ea.Value [j++].getValueString()); ErlArray erlArray = ea.Value [j++] as ErlArray; if (erlArray.Value.Length > 0) { bores = new ArrayList(); StarSoulBore starSoulBore; for (int m = 0, count = erlArray.Value.Length; m < count; m++) { starSoulBore = new StarSoulBore(); starSoulBore.bytesRead(0, erlArray.Value [m] as ErlArray); bores.Add(starSoulBore); } } this.magicWeaponUID = ea.Value[j++].getValueString(); this.cardBloodLevel = StringKit.toInt(ea.Value[j++].getValueString()); updateExp(tempExp); }
public override void read(ErlKVMessage message) { ErlList ls; ErlType type = message.getValue("type") as ErlType; // ErlList ls = message.getValue("report") as ErlList; ErlType Rportnum = message.getValue("report") as ErlType; ErlType emeyType = message.getValue("enemy_array") as ErlType; ErlType mineType = message.getValue("mine_array") as ErlType; ErlType pvpType = message.getValue("bonus_attack") as ErlType; ErlType emeyResonance = message.getValue("enemy_resonance") as ErlType; ErlType attResonance = message.getValue("attacker_resonance") as ErlType; ErlType replayAttackerName = message.getValue("attacker_name") as ErlType; ErlType replayEnemyName = message.getValue("enemy_name") as ErlType; ErlType cardEvo = message.getValue("card_evo") as ErlType; //卡片进化等级 ErlType emeyNum = message.getValue("fore") as ErlType; //pve敌人阵形人数 GameManager.Instance.isCanBeSecondSkill = false; if (Rportnum is ErlList) { ls = Rportnum as ErlList; } else { int reportNum = StringKit.toInt(Rportnum.getValueString()); //ls=message.getValue("1") as ErlList; List <ErlType> ttt = new List <ErlType>(); for (int i = 0; i < reportNum; i++) { string kk = (i + 1).ToString(); ErlList te = message.getValue(kk) as ErlList; for (int j = 0; j < te.Value.Length; j++) { ttt.Add(te.Value[j]); } } ErlType[] kks = new ErlType[ttt.Count]; for (int i = 0; i < ttt.Count; i++) { kks[i] = ttt[i]; } ls = new ErlList(kks); } if (message.getValue("seckill") != null) { if (MissionInfoManager.Instance.isBossFight) { MissionInfoManager.Instance.isBossFight = false; } else { GameManager.Instance.isCanBeSecondSkill = (message.getValue("seckill") as ErlType).getValueString() == "1"; } } ErlType damageValue = message.getValue("damage") as ErlType; //单挑boss伤害值// if (damageValue != null) { AttackBossOneOnOneManager.Instance.damageValue = StringKit.toLong(damageValue.getValueString()); } BattleDataErlang battleData = new BattleDataErlang(); if (emeyNum != null) { battleData.pveTeamNum = StringKit.toInt(emeyNum.getValueString()); } if (emeyType != null) { battleData.enemyFormationID = StringKit.toInt(emeyType.getValueString()); } if (mineType != null) { battleData.playerFormationID = StringKit.toInt(mineType.getValueString()); } if (pvpType != null) { battleData.pvpType = StringKit.toInt(pvpType.getValueString()); } if (emeyResonance != null) { ErlArray eaER = emeyResonance as ErlArray; //上方召唤兽共鸣 battleData.enemyBeastEffect = BeastEvolveManagerment.Instance.getBestResonanceByNums(StringKit.toInt(eaER.Value [1].getValueString()), StringKit.toInt(eaER.Value [0].getValueString())); } if (attResonance != null) { ErlArray eaER = attResonance as ErlArray; //下方召唤兽共鸣 battleData.playerBeastEffect = BeastEvolveManagerment.Instance.getBestResonanceByNums(StringKit.toInt(eaER.Value [1].getValueString()), StringKit.toInt(eaER.Value [0].getValueString())); } else { battleData.playerBeastEffect = BeastEvolveManagerment.Instance.getBestResonance(); } if (replayAttackerName != null) { battleData.replayAttackerName = replayAttackerName.getValueString(); } if (replayEnemyName != null) { battleData.replayEnemyName = replayEnemyName.getValueString(); } if (cardEvo != null) //卡片进化等级 { battleData.evo = new Dictionary <string, int> (); ErlArray eaCEs = cardEvo as ErlArray; for (int i = eaCEs.Value.Length - 1; i >= 0; i--) { ErlArray eaCE = eaCEs.Value [i] as ErlArray; battleData.evo.Add(eaCE.Value [0].getValueString(), StringKit.toInt(eaCE.Value [1].getValueString())); } } battleData.hpMap = new Dictionary <int, BattleHpInfo> (); parseBattleType(battleData, type); BattleManager.battleData = battleData; //倒转顺序 战报需要倒转 每个erllist都需要倒转 Array.Reverse(ls.Value); //获取队伍信息 createTeamInfo(battleData, ls.Value [0] as ErlList); //获取开场buff createOpenBuff(battleData, ls.Value [1]); //解析回合战斗 ErlList el; int frame = 0; for (int i = 2; i < ls.Value.Length - 1; i += 3) { frame = (i - 2) / 3 + 1; //(i-2)/3+1 回合的算法 //如果执行到最后一个 则不进行序列化 最后一个是战斗胜利 if (i == ls.Value.Length - 1) { break; } //剧情npc if (!(ls.Value [i] is ErlNullList)) { el = ls.Value [i] as ErlList; //erllist 需要倒转顺序 Array.Reverse(el.Value); createFight(battleData, el, frame); } if (i + 1 >= ls.Value.Length - 1) { break; } //回合buffer检查 if (!(ls.Value [i + 1] is ErlNullList)) { el = ls.Value [i + 1] as ErlList; //erllist 需要倒转顺序 Array.Reverse(el.Value); createRoundBuffer(battleData, el, frame); } if (i + 2 >= ls.Value.Length - 1) { break; } //有可能当前回合,双方都没有出手 if (ls.Value [i + 2] is ErlNullList) { createFight(battleData, ls.Value [i + 2] as ErlNullList, frame); } else { //回合战斗 el = ls.Value [i + 2] as ErlList; //erllist 需要倒转顺序 Array.Reverse(el.Value); createFight(battleData, el, frame); } } setLastAttack(battleData); //设置最后一击,攻击伤害行为完成后调用 //获取胜利失败 createWinner(battleData, ls.Value [ls.Value.Length - 1] as ErlList, frame + 1); ErlType award = message.getValue("award") as ErlType;//获取奖励 //这里处理副本战斗 if (MissionInfoManager.Instance.mission != null && MissionInfoManager.Instance.mission.getChapterType() == ChapterType.STORY && GameManager.Instance.isCanBeSecondSkill && PlayerPrefs.GetInt(UserManager.Instance.self.uid + "miaosha", 1) == 1 && battleData.isPve && UserManager.Instance.self.getUserLevel() >= 15) { AwardService service12 = ServiceManager.Instance.getServiceByCmd(FPortService.AWARD) as AwardService; if (award is ErlArray) { service12.parseMAward(award as ErlArray); } else if (award is ErlList) { service12.parseMAward(award as ErlList); } GameManager.Instance.battleReportCallback(); GameManager.Instance.battleReportCallback = null; } else if (GameManager.Instance.isCanBeSecondSkill && PlayerPrefs.GetInt(UserManager.Instance.self.uid + "miaosha", 1) == 1 && battleData.isPvP && UserManager.Instance.self.getUserLevel() >= 15)//这里处理副本PK { AwardService service12 = ServiceManager.Instance.getServiceByCmd(FPortService.AWARD) as AwardService; if (award is ErlArray) { service12.parseMAward(award as ErlArray); } else if (award is ErlList) { service12.parseMAward(award as ErlList); } GameManager.Instance.battleReportCallback(); GameManager.Instance.battleReportCallback = null; } else { GameManager.Instance.battleReportCallback(); GameManager.Instance.battleReportCallback = null; AwardService service1 = ServiceManager.Instance.getServiceByCmd(FPortService.AWARD) as AwardService; if (award is ErlArray) { service1.parseAward(award as ErlArray); } else if (award is ErlList) { service1.parseAward(award as ErlList); } } // (ServiceManager.Instance.getServiceByCmd (FPortService.AWARD) as AwardService).parseAward ((award as ErlArray) != null ? award as ErlArray : award as ErlList); //战斗失败处理 if (message.getValue("event") != null) { (ServiceManager.Instance.getServiceByCmd(FPortService.FUBEN_EVENT) as FuBenDoEventService).parseFightLose(message.getValue("action") as ErlType, message.getValue("pstep") as ErlType); } }
/** 获得奖品数量Long */ public long getPrizeNumByLong() { return(StringKit.toLong(this.num)); }
public void parse(ErlArray array, Award award) { ErlArray arr; for (int i = 0; i < array.Value.Length; i++) { arr = array.Value [i] as ErlArray; string type = (arr.Value [0]).getValueString(); if (type == TYPE_RMB) { int rmb = StringKit.toInt(arr.Value [1].getValueString()); award.awardRmb = rmb; } else if (type == TYPE_CARD) { Card c = CardManagerment.Instance.createCard(); c.bytesRead(0, arr.Value [1] as ErlArray); StorageManagerment.Instance.addCardProp(c); CardAward card = new CardAward(); card.id = c.uid; card.sid = c.sid; award.cards.Add(card); } else if (type == TYPE_BEAST) { Card c = CardManagerment.Instance.createCard(); c.bytesRead(0, arr.Value [1] as ErlArray); StorageManagerment.Instance.addBeastProp(c); CardAward card = new CardAward(); card.id = c.uid; card.sid = c.sid; award.cards.Add(card); } else if (type == TYPE_PROP) { Prop p = PropManagerment.Instance.createProp(); p.bytesRead(1, arr); StorageManagerment.Instance.addGoodsProp(p); PropAward prop = new PropAward(); prop.sid = p.sid; prop.num = p.getNum(); award.props.Add(prop); } else if (type == TYPE_EQUIP) { Equip eq = EquipManagerment.Instance.createEquip(); eq.bytesRead(0, arr.Value [1] as ErlArray); // if(!ChooseTypeSampleManager.Instance.isToEat (eq, ChooseTypeSampleManager.TYPE_EQUIP_EXP)) eq.isNew = true; StorageManagerment.Instance.addEquipProp(eq); EquipAward equip = new EquipAward(); equip.id = eq.uid; equip.sid = eq.sid; award.equips.Add(equip); } else if (type == KEY_MAGICWEAPON) { MagicWeapon mc = MagicWeaponManagerment.Instance.createMagicWeapon(); mc.bytesRead(0, arr.Value[1] as ErlArray); StorageManagerment.Instance.addMagicWeaponProp(mc); MagicwWeaponAward mcAward = new MagicwWeaponAward(); mcAward.id = mc.uid; mcAward.sid = mc.sid; award.magicWeapons.Add(mcAward); } else if (type == TempPropType.STARSOUL) { StarSoul starSoul = StarSoulManager.Instance.createStarSoul(); starSoul.bytesRead(0, arr.Value [1] as ErlArray); StorageManagerment.Instance.addStarSoulStorage(starSoul, true); StarSoulAward starSoulAward = new StarSoulAward(); starSoulAward.uid = starSoul.uid; starSoulAward.sid = starSoul.sid; award.starsouls.Add(starSoulAward); } else if (type == TYPE_EXP) { long exp = StringKit.toLong(arr.Value [1].getValueString()); award.awardExp = exp; } else if (type == TYPE_MONEY) { int money = StringKit.toInt(arr.Value [1].getValueString()); award.awardMoney = money; } else if (type == TYPE_CARD_EXP) { EXPAward exp = new EXPAward(); exp.id = arr.Value [1].getValueString(); exp.awardExp = StringKit.toLong(arr.Value [2].getValueString()); award.exps.Add(exp); } else if (type == TYPE_HONOR) { int honor = StringKit.toInt(arr.Value [1].getValueString()); award.awardHonor = honor; } else if (type == TYPE_INTEGRAL) { int integral = StringKit.toInt(arr.Value [1].getValueString()); award.awardIntegral = integral; } else if (type == TYPE_MERIT) { int merit = StringKit.toInt(arr.Value [1].getValueString()); award.awardMerit = merit; } else if (type == TYPE_STAR) { int starNum = StringKit.toInt(arr.Value [1].getValueString()); award.awardStar = starNum; } else if (type == TYPE_CONTRIBUTION) { int contribution = StringKit.toInt(arr.Value [1].getValueString()); award.awardCon = contribution; } else if (type == TYPE_PK) { int pkNum = StringKit.toInt(arr.Value [1].getValueString()); SweepManagement.Instance.initPvpNum(pkNum); } else if (type == TYPE_LUCKSTAR) { int luckStarNum = StringKit.toInt(arr.Value [1].getValueString()); award.awardLuckyStar = luckStarNum; } else if (type == TYPE_PRESTIGE) { int prestige = StringKit.toInt(arr.Value[1].getValueString()); award.awardPrestige = prestige; } else if (type == TempPropType.STARSOUL_DEBRIS) { int debris = StringKit.toInt(arr.Value[1].getValueString()); award.awardStarsoulDebris = debris; } else if (type == TYPE_GODSWAR_INTEGRAL) { int debris = StringKit.toInt(arr.Value[1].getValueString()); award.godsWar_awardIntegral = debris; } else if (type == TYPE_LASTBATTLE_SCORE) { LastBattleManagement.Instance.battleScore = StringKit.toInt(arr.Value[1].getValueString()); } } }
//解析ErlKVMessgae public void parseKVMsg(ErlKVMessage message) { ErlArray arr = message.getValue("msg") as ErlArray; int i = 0; string uid = arr.Value [i++].getValueString(); string nickname = arr.Value [i++].getValueString(); int style = StringKit.toInt(arr.Value [i++].getValueString()); int money = StringKit.toInt(arr.Value [i++].getValueString()); int rmb = StringKit.toInt(arr.Value [i++].getValueString()); string mainCardUid = arr.Value [i++].getValueString(); long exp = StringKit.toLong(arr.Value [i++].getValueString()); int maxLevel = StringKit.toInt(arr.Value [i++].getValueString()); long vipExp = StringKit.toLong(arr.Value [i++].getValueString()); int executionPve = StringKit.toInt(arr.Value [i++].getValueString()); int executionPveMax = StringKit.toInt(arr.Value [i++].getValueString()); long executionPveSpeed = StringKit.toLong(arr.Value [i++].getValueString()); int executionPvp = StringKit.toInt(arr.Value [i++].getValueString()); int executionPvpMax = StringKit.toInt(arr.Value [i++].getValueString()); long executionPvpSpeed = StringKit.toLong(arr.Value [i++].getValueString()); int executionChv = StringKit.toInt(arr.Value [i++].getValueString()); int executionChvMax = StringKit.toInt(arr.Value [i++].getValueString()); long executionChvSpeed = StringKit.toLong(arr.Value [i++].getValueString()); int storePve = StringKit.toInt(arr.Value [i++].getValueString()); int storePveMax = StringKit.toInt(arr.Value [i++].getValueString()); long storePveSpeed = StringKit.toLong(arr.Value [i++].getValueString()); int honorLevel = StringKit.toInt(arr.Value [i++].getValueString()); int honor = StringKit.toInt(arr.Value [i++].getValueString()); string guildId = arr.Value [i++].getValueString(); string guildName = arr.Value [i++].getValueString(); guildName = (guildName.Equals("none") || guildName.Equals("[]")) ? LanguageConfigManager.Instance.getLanguage("s0484") : guildName; int firendsNum = StringKit.toInt(arr.Value [i++].getValueString()); int titleId = StringKit.toInt(arr.Value [i++].getValueString()); int arenaScore = StringKit.toInt(arr.Value [i++].getValueString()); int activeScore = StringKit.toInt(arr.Value [i++].getValueString()); int winNum = StringKit.toInt(arr.Value [i++].getValueString()); int winNumDay = StringKit.toInt(arr.Value [i++].getValueString()); int winRankDay = StringKit.toInt(arr.Value [i++].getValueString()); long serverTime = long.Parse(arr.Value [i++].getValueString()); int star = StringKit.toInt(arr.Value [i++].getValueString()); int merit = StringKit.toInt(arr.Value [i++].getValueString()); int hightPoint = StringKit.toInt(arr.Value [i++].getValueString()); int[] vipAwardSids = parseVipAwardSids(arr.Value [i++] as ErlArray); int lastLevelupRewardSid = StringKit.toInt(arr.Value [i++].getValueString()); int battlePlayVelocity = PlayerPrefs.GetInt(uid + PlayerPrefsComm.BATTLE_PLAY_VELOCITY); int prestige = StringKit.toInt(arr.Value [i++].getValueString()); int ladderRank = StringKit.toInt(arr.Value [i++].getValueString()); int onlineTime = StringKit.toInt(arr.Value [i++].getValueString()); bool canFrist = (arr.Value [i++].getValueString()).Equals("true"); long mountsExp = StringKit.toLong(arr.Value [i++].getValueString()); MountsManagerment.Instance.updateMountsExp(mountsExp); int guildFightPower = StringKit.toInt(arr.Value [i++].getValueString()); int guildFightPowerMax = StringKit.toInt(arr.Value [i++].getValueString()); UserManager.Instance.createSelf(uid, nickname, style, money, rmb, mainCardUid, exp, maxLevel, vipExp, vipAwardSids, lastLevelupRewardSid, executionPve, executionPveMax, executionPveSpeed, executionPvp, executionPvpMax, executionPvpSpeed, executionChv, executionChvMax, executionChvSpeed, storePve, storePveMax, storePveSpeed, winNum, winNumDay, winRankDay, honorLevel, honor, guildId, guildName, firendsNum, titleId, arenaScore, activeScore, serverTime, star, merit, hightPoint, battlePlayVelocity, prestige, ladderRank, onlineTime, canFrist, guildFightPower, guildFightPowerMax); }
/** 序列化读取可变属性数据 */ public void bytesRead(int j, ErlArray ea) { this.huntQuality = StringKit.toInt(ea.Value [j++].getValueString()); this.starSoulExp = StringKit.toLong(ea.Value [j++].getValueString()); this.debrisNumber = StringKit.toInt(ea.Value [j++].getValueString()); }
public override void read(ErlKVMessage message) { ErlArray info = message.getValue("msg") as ErlArray; ErlArray donations; // 捐献列表// ErlArray processPrizes; // 进度奖励列表// if (info != null) { LastBattleManagement.Instance.lastBattlePhase = StringKit.toInt(info.Value[0].getValueString()); // 未开启// if (LastBattleManagement.Instance.lastBattlePhase == LastBattlePhase.NOT_OPEN) { LastBattleManagement.Instance.clearData(); } else { if (!compareTime()) { if (PlayerPrefs.HasKey(LastBattleManagement.lastBattleOldProcessKey + UserManager.Instance.self.uid)) { PlayerPrefs.DeleteKey(LastBattleManagement.lastBattleOldProcessKey + UserManager.Instance.self.uid); } if (PlayerPrefs.HasKey(LastBattleManagement.lastbattleDonationKey + UserManager.Instance.self.uid)) { PlayerPrefs.DeleteKey(LastBattleManagement.lastbattleDonationKey + UserManager.Instance.self.uid); } if (PlayerPrefs.HasKey(LastBattleManagement.lastBattleBossIDKey + UserManager.Instance.self.uid)) { PlayerPrefs.DeleteKey(LastBattleManagement.lastBattleBossIDKey + UserManager.Instance.self.uid); } if (PlayerPrefs.HasKey(LastBattleManagement.lastBattleBossHpKey + UserManager.Instance.self.uid)) { PlayerPrefs.DeleteKey(LastBattleManagement.lastBattleBossHpKey + UserManager.Instance.self.uid); } } // 备战阶段// if (LastBattleManagement.Instance.lastBattlePhase == LastBattlePhase.PREPARE) { // 最新进度// LastBattleManagement.Instance.newProcess = StringKit.toInt(info.Value[1].getValueString()); // 已领取备战奖励条目// processPrizes = info.Value[2] as ErlArray; setProcessPrize(processPrizes); // 女神鼓舞等级// LastBattleManagement.Instance.nvBlessLv = StringKit.toInt(info.Value[3].getValueString()); // 上次挑战小怪关卡id// LastBattleManagement.Instance.battleID = StringKit.toInt(info.Value[4].getValueString()); // 剩余小怪挑战次数// LastBattleManagement.Instance.battleCount = StringKit.toInt(info.Value[5].getValueString()); // 挑战小怪连胜次数// LastBattleManagement.Instance.battleWinCount = StringKit.toInt(info.Value[6].getValueString()); // 捐献商店下次刷新时间// LastBattleManagement.Instance.donationNextUpdateTime = StringKit.toInt(info.Value[7].getValueString()); // 捐献列表// donations = info.Value[8] as ErlArray; updateDonationList(donations); } // boss战阶段// else if (LastBattleManagement.Instance.lastBattlePhase == LastBattlePhase.BOSS) { // 最新进度// LastBattleManagement.Instance.newProcess = StringKit.toInt(info.Value[1].getValueString()); // 已领取备战奖励条目// processPrizes = info.Value[2] as ErlArray; setProcessPrize(processPrizes); // 女神鼓舞等级// LastBattleManagement.Instance.nvBlessLv = StringKit.toInt(info.Value[3].getValueString()); // 击杀boss个数 // LastBattleManagement.Instance.killBossCount = StringKit.toInt(info.Value[4].getValueString()); // 挑战boss// LastBattleManagement.Instance.bossID = StringKit.toInt(info.Value[5].getValueString()); // 当前血量// LastBattleManagement.Instance.currentBossHP = StringKit.toLong(info.Value[6].getValueString()); // 最大血量// LastBattleManagement.Instance.bossTotalHP = StringKit.toLong(info.Value[7].getValueString()); // 剩余boss挑战次数// LastBattleManagement.Instance.bossCount = StringKit.toInt(info.Value[8].getValueString()); // 下次boss挑战次数刷新时间// if (info.Value[9].getValueString() == "0") { LastBattleManagement.Instance.nextBossCountUpdateTime = 0; } else { LastBattleManagement.Instance.nextBossCountUpdateTime = StringKit.toInt(info.Value[9].getValueString()) + CommandConfigManager.Instance.lastBattleData.bossBattleCountUpdateTime; } } // 领奖阶段// else if (LastBattleManagement.Instance.lastBattlePhase == LastBattlePhase.AWARD) { // 物资进度// LastBattleManagement.Instance.newProcess = StringKit.toInt(info.Value[1].getValueString()); // 已领取备战奖励条目// processPrizes = info.Value[2] as ErlArray; setProcessPrize(processPrizes); } } if (callBack != null) { callBack(); callBack = null; } } }
public override void read(ErlKVMessage message) { dayIDs.Clear(); for (int i = 1; i <= 9; i++) { dayIDs.Add(i); } infos.Clear(); RebateInfoManagement.Instance.canRecevieCount = 0; ErlType msgInfo = message.getValue("msg") as ErlType; if (msgInfo is ErlArray) { ErlArray arr = msgInfo as ErlArray; ErlArray arr1; for (int i = 0; i < arr.Value.Length; i++) { arr1 = arr.Value[i] as ErlArray; int j = 0; int _dayID = StringKit.toInt(arr1.Value [j++].getValueString()); RebateDayInfo rdi = new RebateDayInfo(_dayID); rdi.costDiamond = StringKit.toLong(arr1.Value [j++].getValueString()); rdi.getDiamond = calculateGetDiamond(rdi.costDiamond); rdi.costGold = StringKit.toLong(arr1.Value [j++].getValueString()); rdi.getGold = calculateGetGold(rdi.costGold); rdi.rebateState = StringKit.toInt(arr1.Value [j++].getValueString()); if (rdi.rebateState == RebateState.UN_RECEIVE) // 未领取// { int serverTime = ServerTimeKit.getSecondTime(); // 服务器时间// setState(serverTime, rdi); } else { rdi.s_rebateState = S_RebateState.NONE; } infos.Add(rdi.dayID, rdi); dayIDs.Remove(rdi.dayID); } // 未参加活动// for (int i = 0; i < dayIDs.Count; i++) { RebateDayInfo rdi = new RebateDayInfo(dayIDs[i]); int serverTime = ServerTimeKit.getSecondTime(); // 服务器时间// int _startTime = rdi.startTime; // 该天活动开始时间// if (serverTime >= _startTime && serverTime < (_startTime + 24 * 60 * 60)) // 收集中// { rdi.rebateState = RebateState.UN_RECEIVE; rdi.s_rebateState = S_RebateState.COLLECTING; } else if (serverTime < _startTime) // 未到活动时间// { rdi.rebateState = RebateState.NOT_ON_TIME; } infos.Add(dayIDs[i], rdi); } } else // 所有活动未开启// { string result = msgInfo.getValueString(); if (result == "not_open") { for (int i = 1; i <= 9; i++) { RebateDayInfo rdi = new RebateDayInfo(); infos.Add(i, rdi); } } } if (callBack != null) { callBack(); } }
public override void read(ErlKVMessage message) { if (message.getValue("money") != null) { int m = StringKit.toInt((message.getValue("money") as ErlType).getValueString()); UserManager.Instance.self.updateMoney(m); IncreaseManagerment.Instance.clearData(IncreaseManagerment.TYPE_BEAST); IncreaseManagerment.Instance.clearData(IncreaseManagerment.TYPE_CARD); } /** 公会战行动值 */ else if (message.getValue("power") != null) { int addPower = StringKit.toInt((message.getValue("power") as ErlType).getValueString()); string des = LanguageConfigManager.Instance.getLanguage("GuildArea_51", addPower.ToString()); UiManager.Instance.createMessageLintWindowNotUnLuck(des); UserManager.Instance.self.guildFightPower = Mathf.Min(UserManager.Instance.self.guildFightPower + addPower, UserManager.Instance.self.guildFightPowerMax); } else if (message.getValue("rmb") != null) { int m = StringKit.toInt((message.getValue("rmb") as ErlType).getValueString()); if (UiManager.Instance.rechargeWWindow != null) { UiManager.Instance.rechargeWWindow.updateRMB(); } UserManager.Instance.self.updateRMB(m); } else if (message.getValue("merit") != null) { int m = StringKit.toInt((message.getValue("merit") as ErlType).getValueString()); UserManager.Instance.self.merit = m; } else if (message.getValue("contribution") != null) { int m = StringKit.toInt((message.getValue("contribution") as ErlType).getValueString()); GuildManagerment.Instance.updateContrition(m); } else if (message.getValue("exp") != null) { long m = StringKit.toLong((message.getValue("exp") as ErlType).getValueString()); UserManager.Instance.self.updateExp(m); } else if (message.getValue("vip_exp") != null) { long m = StringKit.toLong((message.getValue("vip_exp") as ErlType).getValueString()); UserManager.Instance.self.updateVipExp(m); } else if (message.getValue("max_pve") != null) { int m = StringKit.toInt((message.getValue("max_pve") as ErlType).getValueString()); UserManager.Instance.self.setPvEPointMax(m); } else if (message.getValue("star") != null) { int m = StringKit.toInt((message.getValue("star") as ErlType).getValueString()); UserManager.Instance.self.updateStarSum(m); } else if (message.getValue("friend_size") != null) { int m = StringKit.toInt((message.getValue("friend_size") as ErlType).getValueString()); FriendsManagerment.Instance.getFriends().updateMaxSize(m); } else if (message.getValue("card") != null) { ErlArray er = message.getValue("card") as ErlArray; string uid = er.Value [0].getValueString(); StorageManagerment.Instance.updateCard(uid, er); } else if (message.getValue("star_score") != null) { int m = StringKit.toInt((message.getValue("star_score") as ErlType).getValueString()); GoddessAstrolabeManagerment.Instance.setStarScore(m); } else if (message.getValue("honor") != null) { int m = StringKit.toInt((message.getValue("honor") as ErlType).getValueString()); UserManager.Instance.self.honor = m; } else if (message.getValue("front") != null) { string content = (message.getValue("front") as ErlType).getValueString(); NoticeWindow noticeWindow = UiManager.Instance.noticeWindow; if (noticeWindow != null) { UiManager.Instance.openDialogWindow <MessageLineWindow> ((win) => { win.Initialize(LanguageConfigManager.Instance.getLanguage("s0463")); NoticeSampleManager.Instance.loadNoticeSample(content); noticeWindow.NextFrameInitTopButton(true, 0); }); } else { NoticeSampleManager.Instance.loadNoticeSample(content); } } else if (message.getValue("month_card") != null) { ErlType msg = message.getValue("month_card") as ErlType; if (msg is ErlArray) { ErlArray parameters = msg as ErlArray; ErlArray receiveTime = parameters.Value [0] as ErlArray; int canReceiveTime = StringKit.toInt(parameters.Value [0].getValueString()); DateTime time = TimeKit.getDateTimeMin(canReceiveTime); int receiveYear = time.Year; int receiveMonth = time.Month; int receiveDay = time.Day; NoticeManagerment.Instance.monthCardDueDate = new int[3] { receiveYear, receiveMonth, receiveDay }; NoticeManagerment.Instance.monthCardDueSeconds = canReceiveTime; int canReceiveEnable = StringKit.toInt(parameters.Value [1].getValueString()); NoticeManagerment.Instance.monthCardDayRewardEnable = canReceiveEnable == 1; MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("monthCardBuySuccessTip")); } } else if (message.getValue("cash_double") != null) { if (UiManager.Instance.rechargeWWindow != null) { UiManager.Instance.rechargeWWindow.updateRMB(); } } else if (message.getValue("cash_first") != null) { RechargeManagerment.Instance.canFirst = false; if (UiManager.Instance.mainWindow != null) { UiManager.Instance.mainWindow.updateOneRmb(); } } else if (message.getValue("weekend") != null) { ErlType msg = message.getValue("weekend") as ErlType; int flag = StringKit.toInt(msg.getValueString()); if ((flag == 0 && !TotalLoginManagerment.Instance.WeeklyState) || (flag == 1 && TotalLoginManagerment.Instance.WeeklyState)) { TotalLoginManagerment.Instance.WeeklyState = flag == 0; if (UiManager.Instance.getWindow <TotalLoginWindow>() != null) { if (flag == 1 && !TotalLoginManagerment.Instance.HolidayState && !TotalLoginManagerment.Instance.EverydayState) { if (UiManager.Instance.getWindow <TotalLoginWindow> ().IsFirstBoot) { UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); UiManager.Instance.openWindow <MainWindow>(); } UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); } else { bool fl = UiManager.Instance.getWindow <TotalLoginWindow>().IsFirstBoot; UiManager.Instance.getWindow <TotalLoginWindow>().destoryWindow(); if (fl) { WeeklyAwardFPort fport = FPortManager.Instance.getFPort <WeeklyAwardFPort> (); fport.access(openWindd); } else { UiManager.Instance.openWindow <TotalLoginWindow>((win) => { win.Initialize(); }); } } } else if (UiManager.Instance.getWindow <MainWindow>() != null && UiManager.Instance.getWindow <MainWindow>().gameObject.activeSelf) { UiManager.Instance.getWindow <MainWindow>().totalPrizeButton.gameObject.SetActive(TotalLoginManagerment.Instance.isShowPrize()); } } } else if (message.getValue("festival") != null) { ErlType msg = message.getValue("festival") as ErlType; int flag = StringKit.toInt(msg.getValueString()); if ((flag == 0 && !TotalLoginManagerment.Instance.HolidayState) || (flag == 1 && TotalLoginManagerment.Instance.HolidayState)) { TotalLoginManagerment.Instance.HolidayState = flag == 0; if (UiManager.Instance.getWindow <TotalLoginWindow>() != null) { if (!TotalLoginManagerment.Instance.WeeklyState && flag == 1 && !TotalLoginManagerment.Instance.EverydayState) { if (UiManager.Instance.getWindow <TotalLoginWindow> ().IsFirstBoot) { UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); UiManager.Instance.openWindow <MainWindow>(); } UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); } else { bool fl = UiManager.Instance.getWindow <TotalLoginWindow>().IsFirstBoot; UiManager.Instance.getWindow <TotalLoginWindow>().destoryWindow(); if (fl) { HolidayAwardFPort fport = FPortManager.Instance.getFPort <HolidayAwardFPort>(); fport.access(TotalLoginManagerment.Instance.getHolidayActionsTate(), openWindd); } else { UiManager.Instance.openWindow <TotalLoginWindow>((win) => { win.Initialize(); }); } } } else if (UiManager.Instance.getWindow <MainWindow>() != null && UiManager.Instance.getWindow <MainWindow>().gameObject.activeSelf) { UiManager.Instance.getWindow <MainWindow>().totalPrizeButton.gameObject.SetActive(TotalLoginManagerment.Instance.isShowPrize()); } } } else if (message.getValue("login_award") != null) { ErlType msg = message.getValue("login_award") as ErlType; int flag = StringKit.toInt(msg.getValueString()); if ((flag == 0 && !TotalLoginManagerment.Instance.EverydayState) || (flag == 1 && TotalLoginManagerment.Instance.EverydayState)) { TotalLoginManagerment.Instance.EverydayState = flag == 0; if (UiManager.Instance.getWindow <TotalLoginWindow> () != null) { if (!TotalLoginManagerment.Instance.WeeklyState && !TotalLoginManagerment.Instance.HolidayState && flag == 1) { if (UiManager.Instance.getWindow <TotalLoginWindow> ().IsFirstBoot) { UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); UiManager.Instance.openWindow <MainWindow>(); } UiManager.Instance.getWindow <TotalLoginWindow>().finishWindow(); } else { bool fl = UiManager.Instance.getWindow <TotalLoginWindow> ().IsFirstBoot; UiManager.Instance.getWindow <TotalLoginWindow> ().destoryWindow(); if (fl) { TotalLoginFPort fport = FPortManager.Instance.getFPort <TotalLoginFPort> (); fport.access(openWindd); } else { TotalLoginFPort fport = FPortManager.Instance.getFPort <TotalLoginFPort> (); fport.access(openWindd); } } } else if (UiManager.Instance.getWindow <MainWindow>() != null && UiManager.Instance.getWindow <MainWindow>().gameObject.activeSelf) { UiManager.Instance.getWindow <MainWindow>().totalPrizeButton.gameObject.SetActive(TotalLoginManagerment.Instance.isShowPrize()); } } } else if (message.getValue("active_limit") != null) { ErlArray msg = message.getValue("active_limit") as ErlArray; ErlArray integral = msg.Value[1] as ErlArray; if (integral.Value.Length > 0) { for (int i = 0; i < integral.Value.Length; i++) { NoticeLimitAwardInfo tmp = new NoticeLimitAwardInfo(); tmp.sid = StringKit.toInt(msg.Value[0].getValueString()); tmp.integral = StringKit.toInt(integral.Value[i].getValueString()); NoticeManagerment.Instance.addNoticeLimitInfo(tmp); // NoticeManagerment.Instance.addNoticeLimit(StringKit.toInt(msg.Value[0].ToString())); // NoticeManagerment.Instance.addNoticeLimit(StringKit.toInt(integral.Value[i].ToString())); } } // NoticeManagerment.Instance.noticeLimit.Add(StringKit.toInt(msg.Value[0].ToString())); // NoticeManagerment.Instance.noticeLimit.Add(StringKit.toInt(msg.Value[1].ToString()));//【5,10,20】 } else if (message.getValue("update_task") != null) // 更新七日狂欢状态// { SevenDaysHappyMisson misson; ErlArray missonInfo; ErlArray progressInfo; ErlArray msg = message.getValue("update_task") as ErlArray; for (int i = 0; i < msg.Value.Length; i++) { missonInfo = msg.Value[i] as ErlArray; int missonID = StringKit.toInt(missonInfo.Value[0].getValueString()); // 任务id// progressInfo = missonInfo.Value[2] as ErlArray; // 任务进度// if (SevenDaysHappyManagement.Instance.getSevenDaysHappySampleDic().Count > 0) { misson = SevenDaysHappyManagement.Instance.getMissonByMissonID(missonID); updateSevenDaysHappy(misson, missonInfo, progressInfo); } // else // { // SevenDaysHappyInfoFPort fport = FPortManager.Instance.getFPort ("SevenDaysHappyInfoFPort") as SevenDaysHappyInfoFPort; // fport.SevenDaysHappInfoAccess(()=>{ // misson = SevenDaysHappyManagement.Instance.getMissonByMissonID(missonID); // updateSevenDaysHappy(misson,missonInfo,progressInfo); // }); // Debug.Log("update service report............."); // } } // 排序// SevenDaysHappyManagement.Instance.sortMisson(); } // 刷排行榜// else if (message.getValue("update_ranklist") != null) { ErlType msg = message.getValue("update_ranklist") as ErlType; // 排行榜类型// int rankType = StringKit.toInt(msg.getValueString()); cleanRankByType(rankType); // 如果是恶魔挑战排行榜// if (rankType == RankManagerment.TYPE_BOSSDAMAGE) { RankManagerment.Instance.updateRankItemTotalDamage = true; } } }
/// <summary> /// 获得该点的唯一ID,标识战斗用 /// </summary> public long getPlayerPointOnlyID() { return(StringKit.toLong(sid + "000" + getPlayerPointIndex())); }
public void bytesOtherRead(int j, ErlArray er) { this.index = StringKit.toInt(er.Value[j++].getValueString()); this.sid = StringKit.toInt(er.Value[j++].getValueString()); this.exp = StringKit.toLong(er.Value[j++].getValueString()); }
public override void read(ErlKVMessage message) { ErlArray infos = message.getValue("msg") as ErlArray; if (infos != null) { int index = 0; // 开奖结果 -1则未开奖// LotteryManagement.Instance.awardResult = infos.Value[index++].getValueString(); // 奖池奖金// LotteryManagement.Instance.moneyAward = StringKit.toLong(infos.Value[index++].getValueString()); // 中奖日志// ErlList awardInfos = infos.Value[index++] as ErlList; if (awardInfos != null) { LotteryManagement.Instance.awardList.Clear(); AwardLottery al; ErlArray eArr; ErlArray times; for (int i = 0; i < awardInfos.Value.Length; i++) { al = new AwardLottery(); eArr = awardInfos.Value[i] as ErlArray; if (eArr != null) { times = eArr.Value[0] as ErlArray; if (times != null) { al.time = string.Format(LanguageConfigManager.Instance.getLanguage("lottery_ymd"), times.Value[0].getValueString(), times.Value[1].getValueString(), times.Value[2].getValueString()); } al.serName = eArr.Value[1].getValueString(); al.playerName = eArr.Value[2].getValueString(); al.money = eArr.Value[3].getValueString(); al.awardNum = eArr.Value[4].getValueString(); LotteryManagement.Instance.awardList.Add(al); } } } // 玩家购买信息// LotteryManagement.Instance.currentDayBuyCount = 0; LotteryManagement.Instance.lastBuyCount = 0; ErlList buyInfos = infos.Value[index++] as ErlList; DateTime dt = ServerTimeKit.getDateTime(); if (buyInfos != null) { Lottery lottery; ErlArray eArr; ErlList eArr2; // [{号码 数量 状态},...]// ErlArray eArr3; // [号码 数量 状态,...]// ErlArray times; // 年月日// string timeStr = ""; LotteryManagement.Instance.playerLotteryList.Clear(); for (int i = 0; i < buyInfos.Value.Length; i++) { eArr = buyInfos.Value[i] as ErlArray; if (eArr != null) { times = eArr.Value[0] as ErlArray; if (times != null) { timeStr = string.Format(LanguageConfigManager.Instance.getLanguage("lottery_ymd"), times.Value[0].getValueString(), times.Value[1].getValueString(), times.Value[2].getValueString()); } eArr2 = eArr.Value[1] as ErlList; if (eArr2 != null) { for (int j = 0; j < eArr2.Value.Length; j++) { eArr3 = eArr2.Value[j] as ErlArray; if (eArr3 != null) { if (dt.Year == StringKit.toInt(times.Value[0].getValueString()) && dt.Month == StringKit.toInt(times.Value[1].getValueString()) && dt.Day == StringKit.toInt(times.Value[2].getValueString())) { LotteryManagement.Instance.currentDayBuyCount += StringKit.toInt(eArr3.Value[1].getValueString()); } for (int k = 0; k < StringKit.toInt(eArr3.Value[1].getValueString()); k++) { lottery = new Lottery(timeStr, eArr3.Value[0].getValueString(), StringKit.toInt(eArr3.Value[2].getValueString())); LotteryManagement.Instance.playerLotteryList.Add(lottery); } } } } } } LotteryManagement.Instance.playerLotteryList.Reverse(); } // 上次活动日期// ErlArray lastActivity = infos.Value[index++] as ErlArray; if (lastActivity != null) { string lastTimeStr = string.Format(LanguageConfigManager.Instance.getLanguage("lottery_ymd"), lastActivity.Value[0].getValueString(), lastActivity.Value[1].getValueString(), lastActivity.Value[2].getValueString()); for (int i = 0; i < LotteryManagement.Instance.playerLotteryList.Count; i++) { if (LotteryManagement.Instance.playerLotteryList[i].time == lastTimeStr) { LotteryManagement.Instance.lastBuyCount++; } } } // 已领取奖励条目// LotteryManagement.Instance.selectedAwardCount = 0; LotteryNotice notice = NoticeManagerment.Instance.getNoticeByType(NoticeType.LOTTERY) as LotteryNotice; for (int i = 0; i < LotterySelectPrizeConfigManager.Instance.prizes.Count; i++) { // 在活动日 看当天购买次数// if (isActivityOpen()) { // 达到条件可领取// if (LotteryManagement.Instance.currentDayBuyCount >= LotterySelectPrizeConfigManager.Instance.prizes[i].condition) { LotterySelectPrizeConfigManager.Instance.prizes[i].state = LotterySelectPrizeState.CanRecive; LotteryManagement.Instance.selectedAwardCount++; } else { LotterySelectPrizeConfigManager.Instance.prizes[i].state = LotterySelectPrizeState.CantRecive; } } // 不在活动日 看上次活动日购买次数// else { if (LotteryManagement.Instance.lastBuyCount >= LotterySelectPrizeConfigManager.Instance.prizes[i].condition) { LotterySelectPrizeConfigManager.Instance.prizes[i].state = LotterySelectPrizeState.CanRecive; LotteryManagement.Instance.selectedAwardCount++; } else { LotterySelectPrizeConfigManager.Instance.prizes[i].state = LotterySelectPrizeState.CantRecive; } } } ErlArray receviedAward = infos.Value[index++] as ErlArray; if (receviedAward != null) { for (int i = 0; i < receviedAward.Value.Length; i++) { for (int j = 0; j < LotterySelectPrizeConfigManager.Instance.prizes.Count; j++) { if (StringKit.toInt(receviedAward.Value[i].getValueString()) == LotterySelectPrizeConfigManager.Instance.prizes[j].id) { LotterySelectPrizeConfigManager.Instance.prizes[j].state = LotterySelectPrizeState.Recived; } } } LotteryManagement.Instance.selectedAwardCount -= receviedAward.Value.Length; } if (callBack != null) { callBack(); callBack = null; } } }
///<summary> /// 获得消耗信息 /// </summary> public void getConsumeInfo() { consumeInfo = EquipStarConfigManager.Instance.getCrystalCondition(selectedEquip.sid, selectedEquip.equpStarState); goodsViewFather.gameObject.transform.localPosition = new Vector3(75f, -32, 0); Prop prop = PropManagerment.Instance.createProp(consumeInfo[0]); Prop consumeProp = StorageManagerment.Instance.getProp(consumeInfo[0]); //ResourcesManager.Instance.LoadAssetBundleTexture (ResourcesManager.ICONIMAGEPATH + prop.getIconId(), crystalIcon); if (consumeProp != null) { consumeGoods [0].init(consumeProp, 0); } else { consumeGoods [0].init(prop); } consumeCrystal.text = ((consumeInfo[1] > (consumeProp == null ? 0 : consumeProp.getNum()))?Colors.RED:Colors.GREEN) + (consumeProp == null ? 0 : consumeProp.getNum()) + "/" + consumeInfo[1]; equipStarButton.disableButton(consumeInfo [1] > (consumeProp == null ? 0 : consumeProp.getNum())); consumeInfo = EquipStarConfigManager.Instance.getStoneCondition(selectedEquip.sid, selectedEquip.equpStarState); prop = PropManagerment.Instance.createProp(consumeInfo[0]); consumeProp = StorageManagerment.Instance.getProp(consumeInfo[0]); //ResourcesManager.Instance.LoadAssetBundleTexture (ResourcesManager.ICONIMAGEPATH + prop.getIconId(), stoneIcon); if (consumeProp != null) { consumeGoods [1].init(consumeProp, 0); } else { consumeGoods [1].init(prop); } consumeStone.text = ((consumeInfo[1] > (consumeProp == null ? 0 : consumeProp.getNum()))?Colors.RED:Colors.GREEN) + (consumeProp == null ? 0 : consumeProp.getNum()) + "/" + consumeInfo[1]; if (!equipStarButton.isDisable()) { equipStarButton.disableButton(consumeInfo [1] > (consumeProp == null ? 0 : consumeProp.getNum())); } PrizeSample[] costMoney = EquipStarConfigManager.Instance.getMoneyCostBySid(selectedEquip.sid); //EquipSample sampleTmp = EquipmentSampleManager.Instance.getEquipSampleBySid(selectedEquip.sid); // EquipStarAttrSample sample = sampleTmp == null ? null : EquipStarAttrSampleManager.Instance.getEquipStarAttrSampleBySid(sampleTmp.equipStarSid); //if (sample != null && sample.equipStarAtr.Length <= 9) // return; //if (selectedEquip.getQualityId() <= 5) // return; if (costMoney == null) { return; } long costNum = 0; int MYRAID = 10000; goodsViewFather.gameObject.transform.localPosition = new Vector3(0, -32, 0); if (selectedEquip.equpStarState == costMoney.Length) { costNum = 0; consumeGoods[2].init(new PrizeSample(costMoney[costMoney.Length - 1].type, costMoney[costMoney.Length - 1].pSid, costNum)); } else { costNum = StringKit.toLong(costMoney[selectedEquip.equpStarState].num); consumeGoods[2].init(new PrizeSample(costMoney[selectedEquip.equpStarState].type, costMoney[selectedEquip.equpStarState].pSid, costNum)); } consumeGoods[2].rightBottomText.text = ""; consumeGoods[2].gameObject.SetActive(true); consumeMoney.text = ((int)costNum > UserManager.Instance.self.getMoney() ? Colors.RED : Colors.GREEN) + (UserManager.Instance.self.getMoney() >= MYRAID ? (UserManager.Instance.self.getMoney() / MYRAID) + "W" : UserManager.Instance.self.getMoney() + "") + "/" + (costNum >= MYRAID ? (costNum / MYRAID) + "W" : costNum + ""); if (!equipStarButton.isDisable()) { equipStarButton.disableButton((int)costNum > UserManager.Instance.self.getMoney()); } }