public override void OnGetGameInfo(ISFSObject gameInfo) { base.OnGetGameInfo(gameInfo); if (App.GameKey.Equals("bjlb")) { int bankerLimit = gameInfo.GetInt("bankLimit"); //初始化庄家控制 BankerCtrl.Init(bankerLimit); UserListCtrl.RefreshBanker(gameInfo); ((UserListCtrl02)UserListCtrl).InitBankerLimit(bankerLimit); } var gdata = App.GetGameData <BjlGameData>(); if (gameInfo.ContainsKey("record")) { var recordArray = gameInfo.GetIntArray("record"); var trendcfg = gdata.TrendConfig; foreach (var trend in recordArray) { trendcfg.AddTrend(trend); } trendcfg.TrendView.UpdateView(); } }
public override void Parse(ISFSObject userData) { base.Parse(userData); BetGold = userData.ContainsKey(JhRequestConstKey.KeyBetGold) ? userData.GetInt(JhRequestConstKey.KeyBetGold) : 0; CoinA -= BetGold; WinTimes = userData.GetInt(JhRequestConstKey.KeyWin); LostTimes = userData.GetInt(JhRequestConstKey.KeyLost); TotalTimes = userData.GetInt(JhRequestConstKey.KeyTotal); Iskong = false; Cards = userData.ContainsKey(RequestKey.KeyCards) ? userData.GetIntArray(RequestKey.KeyCards) : null; Award = userData.ContainsKey(JhRequestConstKey.KeyAward) ? userData.GetInt(JhRequestConstKey.KeyAward) : 0; Chip = App.GetGameData <JhGameTable>().IsGameStart&& userData.ContainsKey(RequestKey.KeyGold) ? Mathf.Abs(userData.GetInt(RequestKey.KeyGold)) : 0; if (userData.ContainsKey("allbeat")) { AllBeat = userData.GetInt("allbeat"); } IsGiveUp = userData.ContainsKey(JhRequestConstKey.KeyIsGiveUp) && userData.GetBool(JhRequestConstKey.KeyIsGiveUp); IsLook = userData.ContainsKey(JhRequestConstKey.KeyIsLook) && userData.GetBool(JhRequestConstKey.KeyIsLook); IsFail = userData.ContainsKey(JhRequestConstKey.KeyIsFail) && userData.GetBool(JhRequestConstKey.KeyIsFail); IsPlayingGame = userData.ContainsKey(JhRequestConstKey.KeyPlaying) && userData.GetBool(JhRequestConstKey.KeyPlaying); IsShowCards = userData.ContainsKey("showcard") && userData.GetBool("showcard"); IsReady = userData.ContainsKey("ready") && userData.GetBool("ready"); IsGzyz = userData.ContainsKey("gzyz") && userData.GetBool("gzyz"); }
private void UpdateUserData() { if (_isUpdataUserDateFlag < 2) { return; } _isUpdataUserDateFlag = 1; _win = _userData.ContainsKey(InteractParameter.Gold) ? _userData.GetInt(InteractParameter.Gold) : 0; NameLabel.text = _userData.GetUtfString(InteractParameter.Nick); SetWinText(_win); var cards = _userData.GetIntArray(InteractParameter.Cards); var count = cards.Length < Cards.Count ? cards.Length : Cards.Count; var z = _userData.GetBool(InteractParameter.IsZ); ZhuangObj.gameObject.SetActive(z); ZhuangRate.text = z ? _userData.GetUtfString(InteractParameter.ZhuangData) : ""; for (var i = 0; i < count; i++) { Cards[i].GetComponent <UISprite>().spriteName = "0x" + cards[i].ToString("X"); } var nd = _userData.GetSFSObject(InteractParameter.NiuData); NiuRate.text = "x" + nd.GetInt(InteractParameter.Rate); if (z || nd.GetBool(InteractParameter.IsWin)) { NiuRate.color = new Color32(255, 255, 255, 255); } else { NiuRate.color = new Color32(0, 240, 2, 255); } NiuLabel.text = GetNiuName(nd); }
public override void SetData(ISFSObject datam, MahjongUserInfo userInfo) { if (datam.ContainsKey("laiziGang")) { mParams["laiziGang"] = new VarIntArray(datam.GetIntArray("laiziGang")); } }
private void OnResult(object data) { ISFSArray arr = (ISFSArray)data; for (int i = 0; i < arr.Count; i++) { ISFSObject obj = arr.GetSFSObject(i); int result = obj.GetInt("ResultType"); int chair = obj.GetInt("Chair"); if (result == 0) { int win = obj.GetInt("WinGold"); BeatPool.ResultMoveChips(Players[chair].gameObject, new EventDelegate(() => { Players[chair].ShowMoveGold(win); Players[chair].RefreshCoin(); StartCoroutine(DelayReset()); })); } if (obj.ContainsKey("Cards")) { int[] cards = obj.GetIntArray("Cards"); Players[chair].SetPlayerCards(cards); } } EventObj.SendEvent("TableViewEvent", "Result", null); }
public override void Parse(ISFSObject userData) { base.Parse(userData); RollDiceData = new RollDiceData(); SfsHelper.Parse(userData, ConstantData.KeyPlayerStatus, ref _status); SfsHelper.Parse(userData, ConstantData.KeyColor, ref _playerColor); SfsHelper.Parse(userData, ConstantData.KeyControlDiceTime, ref _controlDiceTime); if (userData.ContainsKey(ConstantData.KeyPlaneInfo)) { var array = userData.GetSFSArray(ConstantData.KeyPlaneInfo); SetPlanesInfo(array); } if (userData.ContainsKey(ConstantData.KeyAuto)) { SfsHelper.Parse(userData, ConstantData.KeyAuto, ref IsAuto); } if (userData.ContainsKey(ConstantData.KeyChoosePlane)) { var planes = userData.GetIntArray(ConstantData.KeyChoosePlane); RollDiceData.OneMoreTime = false; RollDiceData.PlaneIds = planes.ToList(); YxDebug.LogError("可以选择的飞机数量是:" + planes.Length); foreach (var id in planes) { YxDebug.LogError(id); } RollDiceData.QuickModel = true; } }
/// <summary> /// 出牌时 检查播放例子特效 /// </summary> /// <param name="lasOutData"></param> public void PlayPartical(ISFSObject lasOutData) { if (!lasOutData.ContainsKey(RequestKey.KeyCards)) { return; } var outCds = lasOutData.GetIntArray(RequestKey.KeyCards); if (!lasOutData.ContainsKey(RequestKey.KeyCardType)) { CheckPartiCalPlay(outCds); } else { var type = (CardType)lasOutData.GetInt(RequestKey.KeyCardType); if (type == CardType.None || type == CardType.Exception) { CheckPartiCalPlay(outCds); } else { CheckPartiCalPlay(type); } } }
/// <summary> /// 初始化枪的类型 /// </summary> /// <param name="gameInfo"></param> private void InitGunStyls(ISFSObject gameInfo) { var maxGunScore = gameInfo.ContainsKey("bmax") ? gameInfo.GetInt("bmax") : 1000; var basicGunScore = gameInfo.ContainsKey("ante") ? gameInfo.GetInt("ante") : 10; var blts = gameInfo.ContainsKey("blts") ? gameInfo.GetIntArray("blts") : _gunStyles; Defines.FireSpeed = gameInfo.ContainsKey("blsp") ? gameInfo.GetFloat("blsp") : 0.32f; //YxDebug.Log("枪炮数据:" + maxGunScore + " " + basicGunScore); var count = blts.Length; _gunStyles = new int[count]; var i = 0; for (; i < count; i++) { var score = blts[i] * basicGunScore; if (score > maxGunScore) { break; } _gunStyles[i] = score; } Array.Resize(ref _gunStyles, i); if (i < 1) { return; } MinGunStyle = _gunStyles[0]; MaxGunStyle = _gunStyles[_gunStyles.Length - 1]; }
/// <summary> /// 获得金币排行数据 /// </summary> /// <param name="data"></param> public void GetGoldRank(ISFSObject data) { HistoryBetSet(); var goldRank = data.GetIntArray(ConstantData.KeyGoldRank).ToList(); SszSeat = data.GetInt(ConstantData.KeySsz); var totalList = new List <int> { SszSeat }; totalList.AddRange(goldRank); foreach (var player in Players) { if (player != null) { //Debug.LogError(string.Format("座位:{0},昵称:{1},金币:{2},获胜次数:{3},下注金币:{4}", player.Seat, player.NickM, player.CoinA, player.AccumulateWin, player.AccumulateBet)); var seat = player.Seat; var findIndex = totalList.FindIndex(item => item == seat); if (findIndex <= -1) { totalList.Add(seat); } } } var newPlayers = totalList.Select(t => Players.Find(player => player != null && player.Seat == t)).ToList(); Players = newPlayers.ToList(); RoundPlayersFresh(); }
public override void SetData(ISFSObject datam, MahjongUserInfo userInfo) { if (datam.ContainsKey("visibleCards")) { mParams["nius"] = new VarIntArray(datam.GetIntArray("visibleCards")); } }
public void ShowTableResultInfo(ISFSObject responseData) { ShowPanel(); int myWin = 0; if (responseData.ContainsKey("win")) { myWin = responseData.GetInt("win"); SetResultLabel(myWin, MyResult); } if (responseData.ContainsKey("bwin")) { var bankerWin = responseData.GetLong("bwin"); SetResultLabel(bankerWin, BankerResult); } if (responseData.ContainsKey("bpg")) { var wins = responseData.GetIntArray("bpg"); long usersWin = 0; foreach (var w in wins) { usersWin += w; } SetResultLabel(-usersWin, PlayersResult); } }
private void UpdateUserData() { if (_isUpdataUserDateFlag < 2) { return; } _isUpdataUserDateFlag = 1; _win = _userData.ContainsKey(InteractParameter.Gold) ? _userData.GetInt(InteractParameter.Gold) : 0; NameLabel.text = _userData.GetUtfString(InteractParameter.Nick); SetWinText(_win); var cards = _userData.GetIntArray(InteractParameter.Cards); var count = cards.Length < Cards.Count ? cards.Length : Cards.Count; var z = _userData.GetBool(InteractParameter.IsBanker); ZhuangObj.gameObject.SetActive(z); ZhuangRate.text = z ? _userData.GetUtfString(InteractParameter.ZhuangData) : ""; for (var i = 0; i < count; i++) { Cards[i].GetComponent <UISprite>().spriteName = "A_" + cards[i]; } var nd = _userData.GetSFSObject(InteractParameter.NiuData); NiuLabel.text = GetNiuName(nd); }
///// <summary> ///// 双王检测 ///// </summary> ///// <param name="cards"></param> ///// <returns></returns> //private bool HaveDoubleKing(int[] cards) //{ // var gdata = App.GetGameData<FillpitGameData>(); // if (!gdata.Dkak) // return false; // bool haveBlackJoker = false; //有小王 // bool haveColorJoker = false; //有大王 // bool haveLaiZi = false; // int laiziValue = gdata.LaiziValue; // foreach (var cardVal in cards) // { // if (cardVal == 0x51) // { // haveBlackJoker = true; // } // else if (cardVal == 0x61) // { // haveColorJoker = true; // } // else if (cardVal == laiziValue) // { // haveLaiZi = true; // } // } // bool laiziAk = (gdata.HaveLaiZi && haveLaiZi) && (haveBlackJoker || haveColorJoker); //赖子通杀 // bool dkak = haveBlackJoker && haveColorJoker; //双王通杀 // dkak = laiziAk || dkak; // gdata.IsAllKill = dkak; // return dkak; //} ///// <summary> ///// 四通检测 ///// </summary> ///// <param name="cards"></param> ///// <returns></returns> //private bool HaveFours(int[] cards) //{ // var gdata = App.GetGameData<FillpitGameData>(); // if (!gdata.Sfak) // return false; // int len = cards.Length; // int loopTime = len - 4; //四同减4 // bool laizi = gdata.HaveLaiZi; // int laiziValue = gdata.LaiziValue; // int beginCount = 0; // for (int i = 0; i < loopTime; i++) // { // int cardVal = cards[i]; // if (laizi && cardVal == laiziValue) // { // beginCount++; // continue; // } // int cardCount = beginCount; // //去掉双王和特殊牌 // if (IsSpecial(cardVal)) // { // continue; // } // cardVal %= 16; // for (int j = i + 1; j < len; j++) // { // int matchCard = cards[j]; // if (IsSpecial(matchCard)) // { // continue; // } // //两牌牌值 // if (cardVal == matchCard%16 || (laizi && matchCard == laiziValue)) // { // cardCount ++; // } // } // if (cardCount >= 3) // { // gdata.IsAllKill = true; // return true; // } // } // return false; //} //bool IsSpecial(int cardVal) //{ // return cardVal == 0x51 || cardVal == 0x61 || cardVal == 0x71; //} #endregion ///// <summary> ///// 设置玩家状态,播放音效 ///// </summary> ///// <param name="rt"></param> ///// <param name="seat"></param> //void ShowPlayerType(GameRequestType rt, int seat) //{ // var panel = GetPlayerPanel(seat, true); // panel.Speak(rt); //} /// <summary> /// 盲注阶段 /// </summary> /// <param name="data"></param> public void OnBetBlinds(ISFSObject data) { var gdata = App.GetGameData <FillpitGameData>(); if (data.ContainsKey("curante")) { gdata.CurAnte = data.GetInt("curante"); } if (data.ContainsKey("guoBet")) { GuoBet = data.GetInt("guoBet"); } BegiBetSeatsNum = data.GetIntArray("users"); //已经准备的玩家座位号(由于是开房模式,准备人固定) //判断是否在此房间进行过游戏 if (!App.GetGameData <FillpitGameData>().RoomPlayed) { var selfInfo = App.GetGameData <FillpitGameData>(); for (int i = 0; i < BegiBetSeatsNum.Length; i++) { //如果服务器发来的进行游戏的玩家位置有自己的位置,则设置true if (BegiBetSeatsNum[i] == selfInfo.SelfSeat) { App.GetGameData <FillpitGameData>().RoomPlayed = true; } } } AnimationMgr.PlayBeginAnim(data); }
/// <summary> /// 显示庄家的边框的闪动 /// </summary> /// <param name="responseData"></param> /// <returns></returns> private IEnumerator ShowRandomBankAni(ISFSObject responseData) { yield return(1); var gdata = App.GetGameData <NnGameData>(); var banks = responseData.GetIntArray(InteractParameter.Banks); var wt = new WaitForSeconds(0.1f); var t = 5; var seat = -1; while (t > 0) { t--; if (seat > -1) { gdata.GetPlayer <NnPlayer>(seat).SetBankKuang(false); } seat = gdata.GetLocalSeat(banks[t % banks.Length]); gdata.GetPlayer <NnPlayer>(seat).SetBankKuang(true); yield return(wt); } foreach (var bank in banks) { gdata.GetPlayer <NnPlayer>(bank, true).HideBankKuang(); } yield return(new WaitForSeconds(0.1f)); StartCoroutine(BankShake()); }
public void InitTablePlayers(ISFSObject requestData) { List <int> seatList = new List <int>(); if (!requestData.ContainsKey(KeySsz)) { return; } //添加神算子座位号 int seat = requestData.ContainsKey(KeySsz) ? requestData.GetInt(KeySsz) : -1; UpdateTablePlayer(TablePlayerList[0], seat, true); if (requestData.ContainsKey(KeyGoldRank)) { var goldRank = requestData.GetIntArray(KeyGoldRank); int rankCount = goldRank.Length; int playerCount = TablePlayerList.Count; for (int i = 0; i < playerCount; i++) { if (rankCount <= i) { seatList.Add(-1); continue; } int rankSeat = goldRank[i]; seatList.Add(rankSeat); UpdateTablePlayer(TablePlayerList[i], rankSeat, true); } } }
internal void AddResult(ISFSObject response) { var diceVals = response.GetIntArray("dices"); bool bwin = response.GetLong("bwin") > 0; AddResult(diceVals, bwin); }
/// <summary> /// 初始化结算界面数据 /// </summary> /// <param name="data"></param> void InitSummaryInfo(ISFSObject data) { ISFSObject sfsObj = data.GetSFSArray("users").GetSFSObject(0); if (sfsObj.ContainsKey("record")) { int round = sfsObj.GetIntArray("record").Length; for (int i = 0; i < round; i++) { List <int> scoreList = new List <int>(); for (int j = 0; j < SumUsers.Length; j++) { if (SumUsers[j].Id > 0 && SumUsers[j].ScoreArray != null) { scoreList.Add(SumUsers[j].ScoreArray[i]); } } GameObject go = Instantiate(ItemPrefab); go.transform.parent = SumItemGrid.transform; go.transform.localScale = Vector3.one; go.GetComponent <SummaryItem>().InitItem(i + 1, scoreList.ToArray()); } } ScoreGrid.hideInactive = true; ScoreGrid.Reposition(); }
public void OnFenzhang_Dbsmj(ISFSObject data) { if (data.ContainsKey("cards")) { var value = 0; int chair = 0; DataCenter.Game.FenzhangFlag = true; int[] cardsBySeat = data.GetIntArray("cards"); for (int i = 0; i < cardsBySeat.Length; i++) { chair = MahjongUtility.GetChair(i); value = cardsBySeat[i]; if (value > 0) { Game.MahjongGroups.CurrGetMahjongWall.PopMahjong(); var temp = Game.MahjongCtrl.PopMahjong(value); if (temp != null) { var mahjong = temp.GetComponent <MahjongContainer>(); mahjong.Laizi = MahjongUtility.MahjongFlagCheck(value); Game.MahjongGroups.MahjongOther[chair].GetInMahjong(mahjong); } } DataCenter.Players[chair].FenzhangCard = value; } //隐藏箭头 Game.TableManager.HideOutcardFlag(); } }
public void OnSelectDingqueEnd(ISFSObject data) { //停止定时任务 GameCenter.Scene.TableManager.StopTimer(); var eventManger = GameCenter.EventHandle; eventManger.Dispatch((int)UIEventProtocol.SetPlayerFlagState, new PlayerStateFlagArgs() { CtrlState = false }); int[] colors = data.GetIntArray("color"); eventManger.Dispatch((int)UIEventProtocol.ShowDingqueFlag, new HuanAndDqArgs() { Type = 0, DingqueColors = colors }); //设置手牌断门 int color = colors[DataCenter.OneselfData.Seat]; Game.MahjongGroups.PlayerHand.SetHandCardState(HandcardStateTyps.DingqueOver, color); Game.MahjongGroups.PlayerToken = true; //是庄家,提示打牌 if (DataCenter.BankerChair == 0) { var list = Game.MahjongGroups.PlayerHand.MahjongList; var item = list[list.Count - 1]; Game.MahjongGroups.PlayerHand.SetLastCardPos(item); GameCenter.EventHandle.Dispatch((int)UIEventProtocol.TipBankerPutCard); } //开启托管权限 GameCenter.Shortcuts.SwitchCombination.Open((int)GameSwitchType.PowerAiAgency); }
private void OnResult(object data) { foreach (var o in Items) { Destroy(o); } Items.Clear(); Result.SetActive(true); IsStartTimer = true; Timer.text = "" + (int)(TTime - TimeSum); UIGrid gd = Grid.GetComponent <UIGrid>(); gd.Reposition(); gd.enabled = true; //TweenAlpha al = Content.GetComponent<TweenAlpha>(); //if (al != null) //{ // al.ResetToBeginning(); // al.PlayForward(); //} ISFSArray arr = (ISFSArray)data; for (int i = 0; i < arr.Count; i++) { ISFSObject obj = arr.GetSFSObject(i); int result = obj.GetInt("ResultType"); string uname = obj.GetUtfString("Name"); int gold = obj.GetInt("AddGold"); int[] cards = new int[3]; int chair = obj.GetInt("Chair"); if (obj.ContainsKey("Cards")) { cards = obj.GetIntArray("Cards"); Debug.LogError(" result cards " + uname + " " + cards[0] + " " + cards[1] + " " + cards[2]); } if (obj.ContainsKey("IsWinner")) { if (chair == 0) { ResultIcon.spriteName = obj.GetBool("IsWinner") ? "public_019" : "public_018"; } } GameObject newItem = Instantiate(Item); newItem.SetActive(true); newItem.transform.parent = Grid.transform; newItem.transform.localScale = Vector3.one; JhResultItem item = newItem.GetComponent <JhResultItem>(); item.SetInfo(uname, gold, result, cards); Items.Add(newItem); } }
/// <summary> /// 初始化 房间 /// </summary> public void InitRoom(ISFSObject gameInfo) { var gdata = App.GetGameData <PaiJiuGameData>(); //获取房间配置 if (gameInfo.ContainsKey("rid")) { gdata.IsRoomGame = true; RoomInfo.ShowRoomInfo(gameInfo); gdata.CurRound = gameInfo.GetInt("round"); //HistoryResultMgr.SetRoomInfo(gameInfo); } else { gdata.IsRoomGame = false; RoomInfo.gameObject.SetActive(false); } //获取低注值 if (gameInfo.ContainsKey("ante")) { gdata.Ante = gameInfo.GetInt("ante"); } if (gameInfo.ContainsKey("fpround")) { CurTurn = gameInfo.GetInt("fpround"); } if (gameInfo.ContainsKey("outCards")) { CheckShowedPanel.AddCard(gameInfo.GetIntArray("outCards")); TableData.SubCardCount(gameInfo.GetIntArray("outCards").Length); //YxDebug.Log(" ==== 打印已经出现过的牌 ===== "); //Tool.Tools.TestDebug(gameInfo.GetIntArray("outCards")); } else { TableData.SubCardCount(0); } if (gameInfo.GetInt("status") >= 2) { TableData.SubCardCount(16); } }
public static int[] TryGetIntArray(this ISFSObject data, string key) { if (data.ContainsKey(key)) { return(data.GetIntArray(key)); } return(null); }
public static int[] TryGetInArray(ISFSObject obj, string key) { if (key != null && obj.ContainsKey(key)) { return(obj.GetIntArray(key)); } return(null); }
public void ReceiveResult(ISFSObject responseData) { if (responseData.ContainsKey("total")) { App.GameData.GetPlayerInfo().CoinA = responseData.GetLong("total"); } if (responseData.ContainsKey("pg")) { Pg = new[] { 0, 0, 0, 0 }; Pg = responseData.GetIntArray("pg"); } if (responseData.ContainsKey("bpg")) { Bpg = new[] { 0, 0, 0, 0 }; Bpg = responseData.GetIntArray("bpg"); } }
private void AddOnesGroupInfo(int seat, ISFSObject groupInfo) { int[] cards = groupInfo.GetIntArray("cards"); int type = groupInfo.GetInt("type"); var gdata = App.GetGameData <PaiJiuGameData>(); gdata.GetPlayer <PaiJiuPlayer>(seat, true).UserBetPoker.AddGoupInfo(cards, type); }
public void OnResult(ISFSObject response) { RStatus = RoomStatus.Over; int[] cards = response.GetIntArray("cards"); JhUserInfo self = GetPlayerInfo <JhUserInfo>(); self.Cards = cards; ISFSArray users = response.GetSFSArray("users"); for (int i = 0; i < users.Count; i++) { ISFSObject itemData = users.GetSFSObject(i); int seat = itemData.GetInt("seat"); JhUserInfo user = GetPlayerInfo <JhUserInfo>(seat, true); user.SetResult(itemData); } if (response.ContainsKey("compare")) { ISFSArray arr = response.GetSFSArray("compare"); for (int i = 0; i < arr.Size(); i++) { ISFSObject obj = arr.GetSFSObject(i); int seat = obj.GetInt("seat"); JhUserInfo uInfo = GetPlayerInfo <JhUserInfo>(seat, true); uInfo.Cards = obj.GetIntArray("cards"); int[] cards1 = obj.GetIntArray("cards"); Debug.LogError(" result cards " + uInfo.NickM + " " + cards1[0] + " " + cards1[1] + " " + cards1[2]); } } bool isWinner = false; ResultSfs = SFSArray.NewInstance(); foreach (var useinfo in UserInfoDict) { if (useinfo.Value.IsPlayingGame) { JhUserInfo jhUserInfo = ((JhUserInfo)useinfo.Value); ISFSObject obj = jhUserInfo.GetResultSfsObject(); obj.PutInt("Chair", useinfo.Key); if (useinfo.Key == 0 && jhUserInfo.IsWinner) { isWinner = true; } obj.PutBool("IsWinner", isWinner); ResultSfs.AddSFSObject(obj); } } EventObj.SendEvent("PlayersViewEvent", "Result", ResultSfs); ResultDelay = StartCoroutine(SendToResultView(ResultSfs)); EventObj.SendEvent("SoundEvent", "PlayerEffect", new JhSound.SoundData(isWinner ? JhSound.EnAudio.Win : JhSound.EnAudio.Lost)); }
/// <summary> /// 初始化用户信息 /// </summary> /// <param name="gameInfo"></param> public void InitUser(ISFSObject gameInfo) { var gdata = App.GetGameData <GangwuGameData>(); List <int> betList = new List <int>(); ISFSObject selfSfs = gameInfo.GetSFSObject(RequestKey.KeyUser); InitSomeOne(selfSfs); //初始化部分数据 //初始化个人手牌 var selfPanel = gdata.GetPlayer <PlayerPanel>(); if (selfSfs.ContainsKey("cards")) { int[] selfCards = selfSfs.GetIntArray("cards"); if (selfCards.Length > 0) { selfPanel.UserBetPoker.LeftCardValue = selfCards[0]; selfPanel.UserBetPoker.RightCardValue = selfCards[1]; } } //初始化下注信息 if (selfSfs.ContainsKey("curRoundBet")) { var selfBet = selfSfs.GetInt("curRoundBet"); betList.Add(selfBet); } ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList); foreach (ISFSObject user in users) { InitSomeOne(user); if (!user.ContainsKey("curRoundBet")) { continue; } int bet = user.GetInt("curRoundBet"); betList.Add(bet); } if (!gameInfo.ContainsKey("totalBet")) { return; } int ttBet = gameInfo.GetInt("totalBet"); foreach (var oneBet in betList) { ttBet -= oneBet; } BetMgr.BigBetStack.SetBet(ttBet); }
public bool isOut; //是否可以退出房间 protected override void InitGameData(ISFSObject gameInfo) { base.InitGameData(gameInfo); var user = gameInfo.GetSFSObject("user"); UserMoney = user.GetLong("ttgold"); BetTime = gameInfo.GetInt("cd"); History = gameInfo.GetIntArray("history");//历史纪录 Multiplying = gameInfo.ContainsKey("rates") ? gameInfo.GetIntArray("rates") : null; //判断是否为重连 if (gameInfo.ContainsKey("rejoin")) { Rejoin = gameInfo.GetBool("rejoin"); Svt = gameInfo.GetLong("svt"); StartTime = gameInfo.GetLong("startTime"); } StartBet = false; }
public override void SetData(ISFSObject data, MahjongUserInfo userInfo) { base.SetData(data, userInfo); //胡牌 if (data.ContainsKey("hucardlist")) { mParams["hucardlist"] = new VarIntArray(data.GetIntArray("hucardlist")); } }
/// <summary> /// 玩家出牌 /// </summary> /// <param name="listener">出牌的玩家</param> /// <param name="data">出牌数据</param> /// <param name="isLand">是否是地主</param> void PlayerOutCards(OutCdsListener listener, ISFSObject data, bool isLand) { var cards = data.GetIntArray(RequestKey.KeyCards); listener.AllocateCds(cards, isLand); var cardsType = GetOutCardsType(data); listener.CheckPartiCalPlay(cardsType); }
public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM) { Debug.Log("Inventory Update Recieved"); int[] iDArray = anObjectIn.GetIntArray("IDArray"); int[] itemArray = anObjectIn.GetIntArray("ItemIDArray"); int[] quantityArray = anObjectIn.GetIntArray("QuantityArray"); string[] nameArray = anObjectIn.GetUtfStringArray("NameArray"); string[] descriptionArray = anObjectIn.GetUtfStringArray("DescriptionArray"); string[] locationArray = anObjectIn.GetUtfStringArray("SubLocationArray"); bool reopenInventory = false; if(GameObject.Find("InventoryPanel") != null) { GameObject.Find("SceneScriptsObject").GetComponent<GameUI>().openInventory(); reopenInventory = true; } if(itemArray.Length != quantityArray.Length) { Debug.Log("Item array and quantity array are not the same size."); } int iPos = 0; foreach (int ID in iDArray) { //If the inventory already has this item in it, simply update its data. if(ourGWM.getLPC().getInventory().ContainsKey(ID)) { ourGWM.getLPC().getInventory()[ID].updateItemData(itemArray[iPos], quantityArray[iPos], nameArray[iPos], descriptionArray[iPos], locationArray[iPos]); } else if(!ourGWM.getLPC().getInventory().ContainsKey(ID)) { ourGWM.getLPC().getInventory().Add(ID, new Item(ID, itemArray[iPos], quantityArray[iPos], nameArray[iPos], descriptionArray[iPos], locationArray[iPos])); } iPos++; } if(reopenInventory) { GameObject.Find("SceneScriptsObject").GetComponent<GameUI>().openInventory(); } }
public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM) { string[] types = anObjectIn.GetUtfStringArray("Type"); int[] levels = anObjectIn.GetIntArray("Level"); string[] location = anObjectIn.GetUtfStringArray("Location"); for(int i = 0; i < levels.Length; i++) { GameObject aNode; if(levels[i] == 0) { aNode = ourGWM.createObject("Prefabs/Settlements/WoodSign"); } else { aNode = ourGWM.createObject("Prefabs/Settlements/" + types[i] + "/" + levels[i].ToString()); } aNode.name = "Node_" + types[i] + "_" + levels[i]; aNode.transform.position = new Vector3(Convert.ToSingle(location[i].Split(',')[0]), Convert.ToSingle(location[i].Split(',')[1]), Convert.ToSingle(location[i].Split(',')[2])); aNode.transform.rotation = new Quaternion(0, Convert.ToSingle(location[i].Split(',')[3]), 0, 0); } }