private void ProcessMoney(S2CMoney s2cMoney) { string text = string.Empty; bool is_change = false; bool show_cost_or_add_tips = false; int change_money = 0; foreach (PkgMoneyInfo money in s2cMoney.info) { show_cost_or_add_tips = false; text = string.Empty; switch (money.money_type) { case GameConst.MONEY_COIN: { if (Coin != money.num) { show_cost_or_add_tips = true; change_money = (int)(money.num) - (int)(Coin); Coin = money.num; is_change = true; } break; } case GameConst.MONEY_TRIGRAM_SP: { if (TrigramSp != money.num) { if (TrigramSp < money.num) { uint add_sp = money.num - TrigramSp; var localplayer = Game.Instance.GetLocalPlayer(); if (localplayer != null) { localplayer.ShowDamageEffect(FightEffectHelp.FightEffectType.AddSp, 0, (int)(add_sp)); } } TrigramSp = money.num; is_change = true; } break; } case GameConst.MONEY_DIAMOND: { if (Diamond != money.num) { show_cost_or_add_tips = true; change_money = (int)(money.num) - (int)(Diamond); Diamond = money.num; is_change = true; } break; } case GameConst.MONEY_SOUL_CREAM: { if (SoulCream != money.num) { show_cost_or_add_tips = true; change_money = (int)(money.num) - (int)(SoulCream); SoulCream = money.num; is_change = true; } break; } case GameConst.MONEY_SOUL_HOLY_WATER: { if (SoulHolyWater != money.num) { show_cost_or_add_tips = true; change_money = (int)(money.num) - (int)(SoulHolyWater); SoulHolyWater = money.num; is_change = true; } break; } case GameConst.MONEY_COIN_BIND: { if (BindCoin != money.num) { BindCoin = money.num; is_change = true; } break; } case GameConst.MONEY_DIAMOND_BIND: { if (BindDiamond != money.num) { show_cost_or_add_tips = true; change_money = (int)(money.num) - (int)(BindDiamond); BindDiamond = money.num; is_change = true; } break; } case GameConst.MONEY_HANG_TIME: { if (HangTime != money.num) { show_cost_or_add_tips = true; int value = Mathf.Abs((int)HangTime - (int)money.num); string str = CommonTool.SecondsToStr_2(value); if (HangTime > money.num) { text = string.Format(DBConstText.GetText("BAG_LOST_HANG_TIME"), str); } else { text = string.Format(DBConstText.GetText("BAG_GET_HANG_TIME"), str); } HangTime = money.num; is_change = true; ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_OFFLINE_HANGE_TIME_UPDATE, null); } break; } default: { uint old_num = 0; if (MoneyData.ContainsKey((ushort)money.money_type)) { old_num = MoneyData[(ushort)money.money_type]; } MoneyData[(ushort)money.money_type] = money.num; if (old_num != money.num) { if (old_num < money.num) //获得货币 { var info = DBMoney.Instance.GetMoneyInfo(money.money_type); if (info != null) { show_cost_or_add_tips = info.show_get; } change_money = (int)(money.num - old_num); } is_change = true; } break; } } if (Game.Instance.AllSystemInited) { if (s2cMoney.op == GameConst.MONEY_OPERATE_NO_TIP) { show_cost_or_add_tips = false; //一定不飘字 } if (show_cost_or_add_tips && string.IsNullOrEmpty(text)) { string goods_name = GoodsHelper.GetGoodsNameByTypeId_blackBkg(money.money_type); if (change_money > 0) { text = string.Format(DBConstText.GetText("COMMON_ADD_ONE_MONEY_NUM"), goods_name, change_money); } } if (string.IsNullOrEmpty(text) == false) { UINotice.Instance.ShowMessage(text); } } } if (is_change == false) { return; } ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_MONEY_UPDATE, null); }