コード例 #1
0
        protected override void InitGameData(ISFSObject gameInfo)
        {
            OwnerId     = gameInfo.ContainsKey("ownerId") ? gameInfo.GetInt("ownerId") : -1;
            _rule       = gameInfo.ContainsKey("rule") ? gameInfo.GetUtfString("rule") : "";
            IsGameStart = gameInfo.ContainsKey(RequestKey.KeyPlaying) && gameInfo.GetBool(RequestKey.KeyPlaying);
            _rejoin     = gameInfo.ContainsKey("rejoin") && gameInfo.GetBool("rejoin");
            if (IsGameStart && _rejoin)
            {
                _color1     = gameInfo.GetIntArray("color1");
                _color2     = gameInfo.GetIntArray("color2");
                _color3     = gameInfo.GetIntArray("color3");
                _color4     = gameInfo.GetIntArray("color4");
                _curSpeaker = gameInfo.ContainsKey("curP") ? gameInfo.GetInt("curP") : -1;

                _cd = gameInfo.ContainsKey("cd") ? gameInfo.GetInt("cd") : -1;
                _st = gameInfo.ContainsKey("st") ? gameInfo.GetLong("st") : -1;
                _ct = gameInfo.ContainsKey("ct") ? gameInfo.GetLong("ct") : -1;


                _hup      = gameInfo.ContainsKey("hup") ? gameInfo.GetUtfString("hup") : "";
                _svt      = gameInfo.ContainsKey("svt") ? gameInfo.GetLong("svt") : 0;
                _hupstart = gameInfo.ContainsKey("hupstart") ? gameInfo.GetLong("hupstart") : 0;

                _killDragon = gameInfo.ContainsKey("killDragon") ? gameInfo.GetBoolArray("killDragon") : null;
                _isDragon   = gameInfo.ContainsKey("isDragon") ? gameInfo.GetBoolArray("isDragon") : null;
            }
        }
コード例 #2
0
ファイル: JhPlayersView.cs プロジェクト: narakai/chessgame
        private void OnCurrPlayer(object data)
        {
            AddBeat.Hide();
            foreach (JhPlayer jhPlayer in Players)
            {
                jhPlayer.ResetHeadClick();
            }


            ISFSObject sendObj      = (ISFSObject)data;
            int        chair        = sendObj.GetInt("Chair");
            double     cdTime       = sendObj.GetDouble("CdTime");
            int        singleBet    = sendObj.GetInt("SingleBet");
            long       playerGold   = sendObj.GetLong("PlayerGold");
            bool       isGzyz       = sendObj.ContainsKey("IsGzyz") && sendObj.GetBool("IsGzyz");
            bool       isAutoFollow = sendObj.ContainsKey("IsAutoFollow") && sendObj.GetBool("IsAutoFollow");

            AddBeat.SetBetShow(singleBet, playerGold);

            foreach (JhPlayer jhPlayer in Players)
            {
                jhPlayer.ResetTimer();
            }

            SetUserContrl(chair, sendObj);

            SetCurrChair(chair, cdTime, 0, !isGzyz && isAutoFollow);
        }
コード例 #3
0
ファイル: SFS2X_Connect.cs プロジェクト: Dod8431/SMTW_CA
    void OnObjectRequest(BaseEvent evt)
    {
        ISFSObject P1_Entrance_RiddlePC = (SFSObject)evt.Params["message"];
        ISFSObject P1_PuzzlePC          = (SFSObject)evt.Params["message"];
        ISFSObject P2_PuzzlePC          = (SFSObject)evt.Params["message"];
        ISFSObject P2_Puzzle_MinigamePC = (SFSObject)evt.Params["message"];
        ISFSObject MazePC           = (SFSObject)evt.Params ["message"];
        ISFSObject MainScenePC      = (SFSObject)evt.Params["message"];
        ISFSObject MarkGlowActive   = (SFSObject)evt.Params ["message"];
        ISFSObject indexScene       = (SFSObject)evt.Params["message"];
        ISFSObject narrativeIndexPC = (SFSObject)evt.Params["message"];
        ISFSObject NarrativePC      = (SFSObject)evt.Params["message"];
        ISFSObject ButtonP2PC       = (SFSObject)evt.Params ["message"];

        P2_M1              = ButtonP2PC.GetBool("1");
        P2_M2              = ButtonP2PC.GetBool("2");
        P2_M3              = ButtonP2PC.GetBool("3");
        P2_M4              = ButtonP2PC.GetBool("4");
        Narrative          = NarrativePC.GetBool("Narrative");
        narrativeIndex     = narrativeIndexPC.GetInt("narrativeIndex");
        sceneIndex         = indexScene.GetInt("sceneIndex");
        markglow           = MarkGlowActive.GetBool("markglow");
        P1_Entrance_Riddle = P1_Entrance_RiddlePC.GetBool("P1_Entrance");
        P1_Puzzle          = P1_PuzzlePC.GetBool("P1_Puzzle");
        P2_Puzzle          = P2_PuzzlePC.GetBool("P2_Puzzle");
        P2_Puzzle_Minigame = P2_Puzzle_MinigamePC.GetBool("P2_Puzzle_Minigame");
        Maze      = MazePC.GetBool("Maze");
        MainScene = MainScenePC.GetBool("MainScene");
    }
コード例 #4
0
        /// <summary>
        /// 刷新玩家数据
        /// </summary>
        /// <param name="panel"></param>
        /// <param name="user"></param>
        private void RefreshSomeone(DuifenPlayerPanel panel, ISFSObject user)
        {
            if (panel.ReadyState)
            {
                if (user.ContainsKey("state") && user.GetBool("state"))
                {
                    int localSeat = panel.LocalSeat;
                    ReadyLocalSeatList.Add(localSeat);
                }
            }

            panel.ConnectMark.SetActive(!(user.ContainsKey("network") && user.GetBool("network")));
            panel.ShowUserInfo();

            if (user.ContainsKey("systemAuto"))
            {
                bool isAuto = user.GetBool("systemAuto");
                panel.OnGetAutoInfo(isAuto);
            }


            if (!App.GetGameData <DuifenGlobalData>().IsGameing) //如果游戏结束,不接受数据
            {
                return;
            }

            ShowOnesState(panel, user);
            ShowOnesBetVal(panel, user);
            ShowOnesCards(panel, user);
        }
コード例 #5
0
        protected override void InitGameData(ISFSObject gameInfo)
        {
            OwnerId = gameInfo.ContainsKey("ownerId") ? gameInfo.GetInt("ownerId") : -1;

            MaxUserCnt = gameInfo.GetInt("playerNum");

            IsGameStart = gameInfo.ContainsKey(RequestKey.KeyPlaying) && gameInfo.GetBool(RequestKey.KeyPlaying);

            if (IsGameStart)
            {
                BankerSeat = gameInfo.GetInt(JhRequestConstKey.KeyBanker);
                if (gameInfo.ContainsKey("currentP"))
                {
                    gameInfo.GetSFSObject(RequestKey.KeyUser).PutInt("currentP", gameInfo.GetInt("currentP"));
                    CurrenPlayer = gameInfo.GetInt("currentP");
                }

                TotalBet = gameInfo.ContainsKey("totalBet") ? gameInfo.GetInt("totalBet") : 0;

                LastTime = gameInfo.GetLong("lasttime");

                CdTime = gameInfo.GetInt("cdTime");

                IsCanCompare = gameInfo.ContainsKey(JhRequestConstKey.KeyCompare) &&
                               gameInfo.GetBool(JhRequestConstKey.KeyCompare);

                IsCanLook = gameInfo.ContainsKey(JhRequestConstKey.KeyLook) &&
                            gameInfo.GetBool(JhRequestConstKey.KeyLook);

                IsCanGiveUp = gameInfo.ContainsKey(JhRequestConstKey.KeyGiveUp) &&
                              gameInfo.GetBool(JhRequestConstKey.KeyGiveUp);

                SingleBet = gameInfo.ContainsKey("minGold") ? gameInfo.GetInt("minGold") : AnteRate[0];

                CurRound = gameInfo.GetInt("jhround");
            }
            ReadyOutTime = gameInfo.GetInt("");
            maxRound     = gameInfo.GetInt("maxLun");

            BiPaiBeiShu = gameInfo.GetInt("bpbeishu");

            if (gameInfo.ContainsKey("status"))
            {
                RStatus = (RoomStatus)gameInfo.GetInt("status");
            }

            HupUp.FrashHupUpUser();

            IsCreatRoom = CreateRoomInfo != null;


            if (gameInfo.ContainsKey("readyCd"))
            {
                int readyCd = gameInfo.GetInt("readyCd");
                if (readyCd > 0)
                {
                    OnStartTime(readyCd);
                }
            }
        }
コード例 #6
0
        public void InitResultView(ISFSObject data)
        {
            //设置玩家头像
            HeadImage.mainTexture = App.GameData.GetPlayer <BjPlayerPanel>().HeadPortrait.GetTexture(); //blackjackGameManager.GetInstance().SelfPlayer.UserIcon.mainTexture;

            //设置输赢保险
            int insurance = 0;

            if (data.ContainsKey("insurance"))
            {
                insurance = data.GetInt("insurance");
            }
            InsuranceLabel.text = "-" + insurance;
            InsurnaceObj.SetActive(insurance != 0);


            //设置输赢筹码
            if (data.ContainsKey("gold"))
            {
                int gold = data.GetInt("gold");
                GoldLabel.text = YxUtiles.ReduceNumber(gold);

                WinMark.gameObject.SetActive(gold >= 0);
                LostMark.gameObject.SetActive(gold < 0);
            }

            Grid.Reposition();
            DoubleMark.SetActive(data.ContainsKey("double"));

            //显示双倍标记
            DoubleMark.SetActive(data.ContainsKey("addRate") && data.GetBool("addRate"));
            BlackJackMark.SetActive(data.ContainsKey("blackJack") && data.GetBool("blackJack"));
        }
コード例 #7
0
    public void OnObjectMessage(ISFSObject msgObj)
    {
        // Confetti
        if (msgObj.ContainsKey("cnfon"))
        {
            foreach (KeyValuePair <int, Player> playerPair in GameManager.Inst.playerManager)
            {
                if (playerPair.Value.TeamID == msgObj.GetInt("cnftm"))
                {
                    playerPair.Value.ConfettiActive(msgObj.GetBool("cnfon"));
                }
            }
        }

        // Typing indication
        if (msgObj.ContainsKey("typn"))
        {
            foreach (KeyValuePair <int, Player> playerPair in GameManager.Inst.playerManager)
            {
                if (playerPair.Value.Id == msgObj.GetInt("plyr"))
                {
                    playerPair.Value.IsTyping = msgObj.GetBool("typn");
                }
            }
        }
    } // End of OnObjectMessage().
コード例 #8
0
 public TrendData(ISFSObject data)
 {
     Win        = data.GetUtfString(ConstantData.KeyWinCount);
     ZhuangDui  = data.GetBool(ConstantData.KeyBetBankerDouble);
     XianDui    = data.GetBool(ConstantData.KeyBetLeisureDouble);
     ZhuangTian = data.GetBool(ConstantData.KeyBetBankerKing);
     XianTian   = data.GetBool(ConstantData.KeyBetLeisureKing);
 }
コード例 #9
0
 //esegue animazioni remote Tastiera
 public void eseguiAnimazioniRemoteT(ISFSObject sfsObjIn)
 {
     anim.SetFloat("Forward",sfsObjIn.GetFloat("f"));
     anim.SetFloat("Turn", sfsObjIn.GetFloat("t"));
     anim.SetBool("OnGround", sfsObjIn.GetBool("o"));
     anim.SetFloat("Jump", sfsObjIn.GetFloat("j"));
     anim.SetFloat("JumpLeg", sfsObjIn.GetFloat("jL"));
     anim.SetBool("Attacco1", sfsObjIn.GetBool("a1"));
     anim.SetBool("Attacco2", sfsObjIn.GetBool("a2"));
 }
コード例 #10
0
        /// <summary>
        /// 初始化房间信息
        /// </summary>
        public virtual void InitRoom(ISFSObject gameInfo)
        {
            var gdata = App.GetGameData <FillpitGameData>();

            gdata.IsDoubleGame = gameInfo.ContainsKey("dr") && gameInfo.GetBool("dr");
            gdata.IsLanDi      = gameInfo.ContainsKey("lastlandi") && gameInfo.GetBool("lastlandi");

            //获取房间配置
            if (gameInfo.ContainsKey("rid"))
            {
                gdata.IsRoomGame = true;
                bool played = gameInfo.GetInt("round") > 0;
                gdata.IsPlayed   = played;
                gdata.RoomPlayed = gameInfo.ContainsKey("roomPlayed") && gameInfo.GetBool("roomPlayed");
                WeiChatInvite.SetWeiChatBtnActive(!played);
                RoomInfo.ShowRoomInfo(gameInfo);
            }

            //获取低注值
            if (gameInfo.ContainsKey("ante"))
            {
                gdata.BaseAnte = gameInfo.GetInt("ante");

                gdata.MaxPoolNum = gameInfo.GetInt("betLimit");
                if (gameInfo.GetBool("playing"))
                {
                    gdata.IsGameing = gameInfo.GetBool("playing");

                    //当前谁说话
                    if (gameInfo.ContainsKey("current"))
                    {
                        gdata.CurAnte = gameInfo.GetInt("current");
                        App.GetGameManager <FillpitGameManager>().Speaker(gameInfo.GetInt("current"));
                    }
                }
            }

            if (gameInfo.ContainsKey("cargs2"))
            {
                ISFSObject carg = gameInfo.GetSFSObject("cargs2");
                if (carg.ContainsKey("-hideN"))
                {
                    DealerMgr.HideN = int.Parse(carg.GetUtfString("-hideN"));
                }
                if (carg.ContainsKey("-turnresult"))
                {
                    SummaryMgr.ShowTurnResult = !carg.GetUtfString("-turnresult").Equals("0");
                }
            }

            BetMgr.SetAddBtns();
            MenuMgr.OnInitRoom(gameInfo);
        }
コード例 #11
0
        public void OnCurPlayer(ISFSObject response)
        {
            LastTime = JhFunc.GetTimeStamp(false);

            CurrenPlayer = response.GetInt("p");
            CurRound     = response.GetInt("round");
            CdTime       = response.GetInt("cd");
            SingleBet    = response.GetInt("minGold");

            if (response.ContainsKey("look"))
            {
                IsCanLook = response.GetBool("look");
            }
            if (response.ContainsKey("compare"))
            {
                IsCanCompare = response.GetBool("compare");
            }
            if (response.ContainsKey("giveup"))
            {
                IsCanGiveUp = response.GetBool("giveup");
            }

            JhUserInfo curUser = GetPlayerInfo <JhUserInfo>(CurrenPlayer, true);

            if (response.ContainsKey("gzyz"))
            {
                curUser.IsGzyz = response.GetBool("gzyz");
            }

            ISFSObject sendObj = SFSObject.NewInstance();

            sendObj.PutInt("Chair", GetLocalSeat(CurrenPlayer));
            SetSfsUserContrl(sendObj);
            sendObj.PutDouble("CdTime", CdTime);
            sendObj.PutInt("SingleBet", SingleBet);
            if (CurrenPlayer == SelfSeat)
            {
                if (!curUser.IsGzyz && IsAutoFollow)
                {
                    sendObj.PutDouble("CdTime", 2.0f);
                }
            }

            SetCurrenPlayerBeatMinAndMax(curUser, sendObj);

            EventObj.SendEvent("PlayersViewEvent", "CurrPlayer", sendObj);


            sendObj.PutInt("MaxLun", maxRound);
            sendObj.PutInt("CurLun", CurRound);
            EventObj.SendEvent("TableViewEvent", "CurrPlayer", sendObj);
        }
コード例 #12
0
ファイル: CardResult.cs プロジェクト: flyilxm/chessgame
        public CardsData(CardResultType type, ISFSObject data)
        {
            CardsType = type;
            var cards = data.GetIntArray(ConstantData.KeyCards);

            if (cards != null)
            {
                Cards = cards.ToList();
            }
            Result     = data.GetInt(ConstantData.KeyValue);
            DoubleCard = data.GetBool(ConstantData.KeyDoubleCard);
            CardNum    = data.GetInt(ConstantData.KeyCardNum);
            King       = data.GetBool(ConstantData.KeyKing);
        }
コード例 #13
0
        /// <summary>
        /// 初始化某个玩家
        /// </summary>
        /// <param name="userInfo"></param>
        /// <param name="maxPoint"></param>
        void InitOne(ISFSObject userInfo, ref int maxPoint)
        {
            var gdata     = App.GetGameData <FillpitGameData>();
            int seat      = userInfo.GetInt("seat");
            int localSeat = gdata.GetLocalSeat(seat);
            var panel     = GetPlayerPanel(localSeat);

            if (userInfo.ContainsKey("cards"))
            {
                int[] cards = userInfo.GetIntArray("cards");
                YxDebug.LogArray(cards);
                DealerMgr.DealOnesPokers(cards, panel, localSeat);
            }
            if (userInfo.ContainsKey("state"))
            {
                bool isReady = userInfo.GetBool("state");
                panel.ReadyState = isReady;
                panel.ReadyStateFlag.SetActive(isReady && !gdata.IsGameing);
            }
            if (seat == gdata.Banker)
            {
                panel.SetBankIcon(true);
            }

            if (userInfo.ContainsKey("bet"))
            {
                panel.PlayerBet(userInfo.GetInt("bet"));
            }
            if (userInfo.ContainsKey("isgame") && !userInfo.GetBool("isgame"))
            {
                if (panel.ReadyState)
                {
                    panel.PlayerType = 3;
                    Color color = new Color(200 / 255f, 200 / 255f, 200 / 255f, 1);
                    panel.SetFoldCardColor(color);
                    panel.ShowGameType(GameRequestType.Fold);
                }
            }

            if (userInfo.ContainsKey("openCV"))
            {
                int openCv = userInfo.GetInt("openCV");
                panel.SetShownCardsPoint(openCv);
                if (openCv > maxPoint)
                {
                    maxPoint = openCv;
                }
            }
        }
コード例 #14
0
ファイル: GangWuGameManager.cs プロジェクト: da1fanshu/yizhe
        public void InitSomeOne(ISFSObject info)
        {
            var         gdata    = App.GetGameData <GangwuGameData>();
            int         userSeat = info.GetInt(RequestKey.KeySeat);
            PlayerPanel onePanel = gdata.GetPlayer <PlayerPanel>(userSeat, true);

            onePanel.SetPlayerReadyState(info.GetBool(RequestKey.KeyState));
            foreach (Transform tran in onePanel.PokersTrans)
            {
                tran.DestroyChildren();
            }

            if (info.ContainsKey("cards"))
            {
                int[] selfCards = info.GetIntArray("cards");

                if (selfCards.Length > 0)
                {
                    onePanel.UserBetPoker.LeftCardValue  = selfCards[0];
                    onePanel.UserBetPoker.RightCardValue = selfCards[1];
                    DealerMgr.DealOnesPokers(selfCards, onePanel.PokersTrans, gdata.SelfSeat);
                }
            }

            if (info.ContainsKey("curRoundBet"))
            {
                var selfBet = info.GetInt("curRoundBet");
                onePanel.BetMoney = selfBet;
            }
        }
コード例 #15
0
ファイル: AResM.cs プロジェクト: narakai/chessgame
        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);
        }
コード例 #16
0
        public void InitGameInfo(ISFSObject gameInfo)
        {
            var gdata = App.GetGameData <DuifenGlobalData>();

            if (gameInfo.ContainsKey("showGoldRate"))
            {
                gdata.ShowGoldRate = gameInfo.GetInt("showGoldRate");
            }
            if (gameInfo.ContainsKey("curante"))
            {
                gdata.Ante = gameInfo.GetInt("curante");
            }

            if (gameInfo.ContainsKey("playing"))
            {
                gdata.IsGameing = gameInfo.GetBool("playing");
            }

            if (gameInfo.ContainsKey("cargs2"))
            {
                BetMgr.PanDuan(gameInfo);
            }

            if (gameInfo.ContainsKey("minbet"))
            {
                SpeakMgr.MinBetValue = gameInfo.GetInt("minbet");
            }

            if (gameInfo.ContainsKey("ownerId"))
            {
                gdata.OwnerId = gameInfo.GetInt("ownerId");
            }
        }
コード例 #17
0
    private void OnExtensionResponse(BaseEvent evt)
    {
        string ResponseType = (string)evt.Params["cmd"];

        Debug.Log("Received Response: " + ResponseType);
        ISFSObject ObjectIn = (SFSObject)evt.Params["params"];

        if (ResponseType == "JoinGameLobby")
        {
            Debug.Log("Entering Game Lobby...");
            SFServer.RemoveAllEventListeners();
            SceneManager.LoadScene("GameLobby");
        }
        if (ResponseType == "$SignUp.Submit")
        {
            if (!MessageText.activeInHierarchy)
            {
                MessageText.SetActive(true);
            }
            if (ObjectIn.GetBool("success"))
            {
                Debug.Log("Success, thanks for registering");
                MessageText.GetComponent <Text>().text = "Success, thanks for registering";
                SFServer.Send(new LogoutRequest());

                this.LoginPanel.SetActive(true);
                this.RegisterPanel.SetActive(false);
            }
            else
            {
                Debug.Log("SignUp Error:" + ObjectIn.GetUtfString("errorMessage"));
                MessageText.GetComponent <Text>().text = "SignUp Error: " + ObjectIn.GetUtfString("errorMessage");
            }
        }
    }
コード例 #18
0
ファイル: AResM.cs プロジェクト: narakai/chessgame
        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);
        }
コード例 #19
0
ファイル: BjlGameManager.cs プロジェクト: narakai/chessgame
        public override void OnGetGameInfo(ISFSObject gameInfo)
        {
            var gdata     = App.GetGameData <BjlGameData>();
            var forbinden = gameInfo.GetBool("forbiden");

            gdata.GetPlayerInfo <BjlUserInfo>().Forbiden = forbinden;
            if (App.GameKey.Equals("bjlb"))
            {
                int bankerLimit = gameInfo.GetInt("bankLimit");
                //初始化庄家控制
                BankerCtrl.Init(bankerLimit);
                UserListCtrl.RefreshBanker(gameInfo);
            }
            ShowNumCtrl.Init();
            CheckReJion(gameInfo);

            if (forbinden)
            {
                BetCtrl.HideChip();
                ShowTip();
            }
            BetCtrl.InitChips();
            OnGetPlayers(gameInfo);
            if (gameInfo.ContainsKey("state"))
            {
                gdata.SetGameStatus((YxEGameStatus)gameInfo.GetInt("state"));
            }
        }
コード例 #20
0
ファイル: JhGameManager.cs プロジェクト: narakai/chessgame
        public override void OnGetGameInfo(ISFSObject gameInfo)
        {
            GameData.SetGameStatus();
            JhUserInfo player = GameData.GetPlayerInfo <JhUserInfo>();

            if (GameData.IsCreatRoom)
            {
                GameData.HupUp.OnGameInfo(gameInfo);
                GameData.GStatus = gameInfo.GetBool("playing") ? YxEGameStatus.Play : YxEGameStatus.Normal;
            }
            else
            {
                if (GameData.RStatus == RoomStatus.Over && player.IsPlaying())
                {
                    GameData.GStatus = YxEGameStatus.Over;
                }
                else if (GameData.RStatus > RoomStatus.CanStart && player.IsPlaying())
                {
                    GameData.GStatus = YxEGameStatus.PlayAndConfine;
                }
                else
                {
                    GameData.GStatus = YxEGameStatus.Ready;
                }
            }
        }
コード例 #21
0
        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);
            }
        }
コード例 #22
0
 public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
 {
     if(anObjectIn.GetBool("Gathered"))
     {
         ourGWM.destroyObject(ourGWM.getResourceDictionary()[anObjectIn.GetInt("ID")]);
         ourGWM.getResourceDictionary().Remove(anObjectIn.GetInt("ID"));
     }
 }
コード例 #23
0
 public static bool TryGetInBool(ISFSObject obj, string key)
 {
     if (key != null && obj.ContainsKey(key))
     {
         return(obj.GetBool(key));
     }
     return(false);
 }
コード例 #24
0
ファイル: GangwuGameData.cs プロジェクト: da1fanshu/yizhe
 protected override void InitGameData(ISFSObject gameInfo)
 {
     base.InitGameData(gameInfo);
     Ante        = gameInfo.GetInt("ante");
     MaxPoolNum  = gameInfo.GetInt("betLimit");
     MinRoomGold = gameInfo.GetInt("tcMin");
     IsGameStart = gameInfo.GetBool("playing");
 }
コード例 #25
0
ファイル: CpgUtility.cs プロジェクト: narakai/chessgame
 public override void ParseData(ISFSObject data)
 {
     base.ParseData(data);
     if (data.ContainsKey("ok"))
     {
         Ok = data.GetBool("ok");
     }
 }
コード例 #26
0
 public static bool TryGetBool(this ISFSObject data, string key)
 {
     if (data.ContainsKey(key))
     {
         return(data.GetBool(key));
     }
     return(false);
 }
コード例 #27
0
        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");
        }
コード例 #28
0
 /// <summary>
 /// 初始化玩家状态
 /// </summary>
 /// <param name="panel"></param>
 /// <param name="user"></param>
 private void ShowOnesState(DuifenPlayerPanel panel, ISFSObject user)
 {
     if (user.ContainsKey("kaipai") && user.GetBool("kaipai"))
     {
         panel.ShowGameType(PlayerGameType.KaiPai);
     }
     if (user.ContainsKey("qili") && user.GetBool("qili"))
     {
         panel.ShowGameType(PlayerGameType.QiLi);
     }
     //没在游戏且有下注的玩家是弃牌玩家
     if (!user.GetBool("state") && user.GetInt("ttxz") > 0)
     {
         panel.ShowGameType(PlayerGameType.Fold);
         panel.PlayerType = (int)PlayerGameType.Fold;
         panel.Mask.SetActive(true);
     }
 }
コード例 #29
0
        //public ClockCD ClockCd;

        /// <summary>
        /// 初始化用户信息
        /// </summary>
        /// <param name="gameInfo"></param>
        public void InitUser(ISFSObject gameInfo)
        {
            var gdata = App.GetGameData <BlackJackGameData>();

            //初始化自己的信息
            if (gameInfo.ContainsKey("user"))
            {
                ISFSObject selfInfo = gameInfo.GetSFSObject(RequestKey.KeyUser);

                SelfSeat   = selfInfo.GetInt(RequestKey.KeySeat);
                SelfPlayer = gdata.GetPlayer <BjPlayerPanel>(SelfSeat, true);

                SelfPlayer.NameLabel.Color = Color.yellow;



                bool isGaming = gdata.IsGameing;
                bool isReady  = selfInfo.GetBool("state");
                SelfPlayer.SetReadyBtnActive(!isGaming && !isReady);
                SelfPlayer.SetReadyMarkActive(!isGaming && isReady);
            }


            //初始化其他玩家信息
            if (gameInfo.ContainsKey("users"))
            {
                //初始化每个玩家的信息
                ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList);
                foreach (ISFSObject user in users)
                {
                    int seat         = user.GetInt(RequestKey.KeySeat);
                    var someonePanel = gdata.GetPlayer <BjPlayerPanel>(seat, true);

                    someonePanel.gameObject.SetActive(true);
                    someonePanel.SetReadyBtnActive(false);                                                                            //隐藏其他玩家的准备按钮
                    someonePanel.SetReadyMarkActive(user.GetBool("state") && !user.ContainsKey("bet") && !user.ContainsKey("cards")); //设置玩家的准备状态

                    if (user.ContainsKey("bet"))
                    {
                        someonePanel.BetMoney = user.GetInt("bet");
                    }

                    if (user.ContainsKey("cards"))
                    {
                        int[] cards = user.GetIntArray("cards");
                        DealPokerMgr.DealPokerNoAnim(seat, cards);
                    }
                }

                if (gameInfo.ContainsKey("bankcards"))
                {
                    int[] bankCards = gameInfo.GetIntArray("bankcards");
                    DealPokerMgr.DealPokerNoAnim(gdata.BjBankerBanker, bankCards);
                }
            }
        }
コード例 #30
0
        /// <summary>
        /// 从服务器接收游戏数据并转化
        /// </summary>
        public virtual void ParseData(ISFSObject sfsObject)
        {
            LineList.Clear();
            JettonList.Clear();
            IconList.Clear();

            string strLogLines = "";

            int[] lines = sfsObject.GetIntArray("lines");
            for (int i = 0; i < lines.Length; i++)
            {
                LineList.Add(lines[i]);
                strLogLines = strLogLines + " " + lines[i] + " ";
            }
            YxDebug.Log("  ----> RespStart: Lines info of start data is " + strLogLines + " ! \n");

            IsWin = LineList.Contains(1);

            UserTotalGold  = sfsObject.GetLong("ttgold");
            GetJackpotGold = sfsObject.GetInt("gold");
            IsSame         = sfsObject.GetBool("same");

            MaxLine = sfsObject.GetInt("maxline");


            string strLogJet = "";

            int[] jettons = sfsObject.GetIntArray("fruits");

            /*下面这段是横着来的图片顺序
             * string strLogJet1 = "";
             * for (int i = 0; i < jettons.Length; i++)
             * {
             *  strLogJet1 = strLogJet1 + " " + jettons[i] + " ";
             * }
             * YxDebug.LogError("  ----> RespStart: Jetton info of start data is " + strLogJet1 + " ! \n");
             */
            //服务器传过来的数据是横着来的,而我做的是竖着来的,需要把横着的图片顺序改为竖着的图片顺序
            int temp = 0;

            for (int i = 0; i < ShowLine; i++)
            {
                if (i + temp * ShowLine < jettons.Length)
                {
                    JettonList.Add(jettons[i + temp * ShowLine]);
                    strLogJet = strLogJet + " " + jettons[i + temp * ShowLine] + "   ";
                    temp++;
                    i--;
                }
                else
                {
                    temp = 0;
                }
            }
            YxDebug.Log("  ----> RespStart: Jetton info of start data is " + strLogJet + " ! \n");
        }
コード例 #31
0
ファイル: RespStart.cs プロジェクト: narakai/chessgame
        public void ParseData(ISFSObject sfsObject)
        {
            MLineList.Clear();
            MFruitList.Clear();

            MIsAllBar = sfsObject.GetBool("allb");

            string strLogLines = "";

            int[] lines = sfsObject.GetIntArray("lines");
            for (int i = 0; i < lines.Length; i++)
            {
                MLineList.Add(lines[i]);

                strLogLines = strLogLines + " " + lines[i] + "";
            }
            YxDebug.Log("  ----> RespStart: Lines info of start data is " + strLogLines + " ! \n");

            MSeven = sfsObject.GetInt("seven");

            MTotalGold = sfsObject.GetLong("ttgold");

            MIsAllFruit = sfsObject.GetBool("allf");

            //全水果、Bar
            BigWin.getInstance().isAllFruit = MIsAllFruit;
            BigWin.getInstance().isAllBar   = MIsAllBar;

            MGotJackpotGlod = sfsObject.GetInt("gold");

            string strLogFruits = "";

            int[] fruit = sfsObject.GetIntArray("fruits");
            for (int i = 0; i < fruit.Length; i++)
            {
                MFruitList.Add(fruit[i]);

                strLogFruits = strLogFruits + " " + fruit[i] + "";
            }
            YxDebug.Log("  ----> RespStart: Fruit info of start data is " + strLogFruits + " ! \n");

            MType = sfsObject.GetInt("type");
        }
コード例 #32
0
 protected override void InitGameData(ISFSObject gameInfo)
 {
     base.InitGameData(gameInfo);
     NeedShowAnim     = gameInfo.GetBool("show");
     BetLineNum       = gameInfo.GetInt("line");
     iXiazhushangxian = gameInfo.GetInt("ante");
     BetBaseNum       = gameInfo.GetInt("ante");
     BetNum           = App.GetGameData <WmarginGameData>().BetLineNum *App.GetGameData <WmarginGameData>().BetBaseNum;
     Facade.EventCenter.DispatchEvent(EWmarginEventType.RefreshTotalMoney, GetPlayerInfo().CoinA);
 }
コード例 #33
0
        public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
        {
            Debug.Log("Server spawning player.");
            float[] locationArray = anObjectIn.GetFloatArray("Location");
            float aRotation = anObjectIn.GetFloat("Rotation");
            string aCharacterName = anObjectIn.GetUtfString("CharacterName");

            if(anObjectIn.GetBool("IsLocal"))
            {
                GameObject aLocalPlayer = ourGWM.createObject("Prefabs/Player/PlayerBasic");
                aLocalPlayer.transform.position = new Vector3(locationArray[0], locationArray[1], locationArray[2]);
                aLocalPlayer.transform.rotation = Quaternion.identity;

                // Since this is the local player, lets add a controller and fix the camera
                aLocalPlayer.AddComponent<LocalPlayerController>();
                aLocalPlayer.AddComponent<InputController>();
                ourGWM.setLPC(aLocalPlayer.GetComponent<LocalPlayerController>());
                ourGWM.getLPC().SetName(aCharacterName);
                aLocalPlayer.GetComponentInChildren<TextMesh>().text = aCharacterName;

                GameObject cameraAttach = new GameObject();
                cameraAttach.transform.parent = aLocalPlayer.transform;
                cameraAttach.transform.localPosition = new Vector3(1f, 2.5f, 1.0f);
                cameraAttach.name = "Camera Target";
                Camera.main.transform.parent = cameraAttach.transform;
                Camera.main.GetComponent<CameraController>().setTarget(cameraAttach);
                Camera.main.GetComponent<CameraController>().setCursorVisible(false);
            }
            else if(!anObjectIn.GetBool("IsLocal"))
            {
                GameObject aRemotePlayer = ourGWM.createObject("Prefabs/Player/PlayerBasic");

                aRemotePlayer.name = "GameCharacter_" + aCharacterName;
                aRemotePlayer.AddComponent<RemotePlayerController>();
                aRemotePlayer.transform.position = new Vector3(locationArray[0], locationArray[1], locationArray[2]);
                aRemotePlayer.GetComponent<RemotePlayerController>().SetRotation(aRotation);
                aRemotePlayer.GetComponentInChildren<TextMesh>().text = aCharacterName;

                //Add Newly spawned player to Dictionary
                ourGWM.getPlayerDictionary().Add(aCharacterName, aRemotePlayer);
            }
        }
コード例 #34
0
 public bool GetBool(ISFSObject data, string key)
 {
     if (receiveEncrypted)
     {
         return provider.DecryptBool(data.GetByteArray(key));
     }
     else
     {
         return data.GetBool(key);
     }
 }
コード例 #35
0
 public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
 {
     string aCharacterName = anObjectIn.GetUtfString("CharacterName");
     if(aCharacterName == ourGWM.getLPC().GetName())
     {
         return;
     }
     else if(ourGWM.getPlayerDictionary().ContainsKey(aCharacterName))
     {
         float[] LocationArray = anObjectIn.GetFloatArray("Location");
         bool IsMoving = anObjectIn.GetBool("IsMoving");
         ourGWM.getPlayerDictionary()[aCharacterName].GetComponent<RemotePlayerController>().SetPlayerMoving(IsMoving);
         ourGWM.getPlayerDictionary()[aCharacterName].transform.position = new Vector3(LocationArray[0], LocationArray[1], LocationArray[2]);
     }
 }
コード例 #36
0
ファイル: NetworkManager.cs プロジェクト: Hargalaten/meGAMEss
 private void Hack(ISFSObject data)
 {
     foreach(GameObject g in GameObject.FindGameObjectsWithTag("ray"))
         Destroy(g);
     if (data.GetBool ("success"))
     {
         ISFSObject data2 = new SFSObject();
         Gateway gtw = gameObject.GetComponent<TextManager>().gtw;
         data2.PutUtfString("selctedGateway", gtw.getState());
         smartFox.Send(new  ExtensionRequest("refreshGtw", data2, smartFox.LastJoinedRoom));
     }
     if(data.GetBool("victoryReached") == true)
         mg.getNotificationManager().DisplayWindow("YOUWON");
 }
コード例 #37
0
    private void OnResponseGetAssetsInfo(ISFSObject a_infoData)
    {
        //assetsinfo
        if(a_infoData.GetBool(Keys.SUCCESS))
        {
            ISFSArray l_tempSfsArray = a_infoData.GetSFSArray(Keys.ASSETS_INFO);
            List<AssetsInfo> l_allCurrentInfoList = new List<AssetsInfo>();
            for (int indexAssetInfo = 0; indexAssetInfo < l_tempSfsArray.Count; indexAssetInfo++)
            {
                AssetsInfo l_temp = new AssetsInfo();
                l_temp.AssetID = (int)(l_tempSfsArray.GetSFSObject(indexAssetInfo)).GetLong("assetsid");
                l_temp.ImageTargetID = (l_tempSfsArray.GetSFSObject(indexAssetInfo)).GetUtfString("imagetargetid");
                l_temp.URL = (l_tempSfsArray.GetSFSObject(indexAssetInfo)).GetUtfString("assetsurl");
                l_temp.AssetName = (l_tempSfsArray.GetSFSObject(indexAssetInfo)).GetUtfString("assetname");
                l_allCurrentInfoList.Add(l_temp);

            }
            GameBaseEvent l_assetsInfoEvent = new GameBaseEvent(eGameEvents.getAssetsInfo.ToString());
            GameEventArgs l_eventArg = new GameEventArgs();
            l_eventArg.EventData  = (object)l_allCurrentInfoList;
            l_assetsInfoEvent.Args = l_eventArg;
            dispatchEvent(this, l_assetsInfoEvent);
        }
        else
        {
            Debug.Log(a_infoData.GetUtfString(Keys.ERROR));
        }
    }
コード例 #38
0
ファイル: NetworkManager.cs プロジェクト: Hargalaten/meGAMEss
    private void InstallItem(ISFSObject data)
    {
        if(data.GetBool("success"))
            mg.getNotificationManager().DisplayWindow("INSTALLED");

        gameObject.GetComponent<InventoryManager>().UpdatePlayerInventory(data.GetSFSArray("inventory"));

        ISFSObject data2 = new SFSObject();
        Gateway gtw = gameObject.GetComponent<TextManager>().gtw;
        data2.PutUtfString("selctedGateway", gtw.getState());
        smartFox.Send(new  ExtensionRequest("refreshGtw", data2, smartFox.LastJoinedRoom));
    }
コード例 #39
0
ファイル: Game.cs プロジェクト: PanCrucian/IOL
 void OnCircleAndPlayer(ISFSObject data)
 {
     PlayerTeam circleTeam = (PlayerTeam) System.Enum.Parse(typeof(PlayerTeam), data.GetUtfString("team"));
     if(circleTeam != team)
         return;
     Circle circle = Circles.Instance.GetCircle(data.GetInt("circleId"));
     ServerPlayer serverPlayer = ServerPlayers.GetPlayer(data.GetUtfString("userName"));
     bool isSucceed = data.GetBool("isSucceed");
     if (isSucceed)
         serverPlayer.TruePress(circle);
     else
         serverPlayer.FailPress(circle);
 }
コード例 #40
0
ファイル: GameManager.cs プロジェクト: Daminvar/Scatterblocks
 private void generateExplosion(ISFSObject msg)
 {
     var robot = msg.GetBool("isBlue") ? blueRobot : redRobot;
     Instantiate(ExplosionPF, robot.transform.position, Quaternion.identity);
     robot.GetComponentInChildren<SkinnedMeshRenderer>().enabled = false;
 }
コード例 #41
0
ファイル: GameManager.cs プロジェクト: Daminvar/Scatterblocks
 private void reshowPlayer(ISFSObject msg)
 {
     var robot = msg.GetBool("isBlue") ? blueRobot : redRobot;
     robot.GetComponentInChildren<SkinnedMeshRenderer>().enabled = true;
 }
コード例 #42
0
 //esegue animazioni remote Punta e clicca
 public void eseguiAnimazioniRemoteC(ISFSObject sfsObjIn)
 {
     forward= sfsObjIn.GetFloat("f");
     attacco1=sfsObjIn.GetBool("a1");
     attacco2=sfsObjIn.GetBool("a2");
 }