public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
 {
     if(anObjectIn.GetBool("Gathered"))
     {
         ourGWM.destroyObject(ourGWM.getResourceDictionary()[anObjectIn.GetInt("ID")]);
         ourGWM.getResourceDictionary().Remove(anObjectIn.GetInt("ID"));
     }
 }
        public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
        {
            string aSettlementName = anObjectIn.GetUtfString("Name");
            int ID = anObjectIn.GetInt("ID");
            float[] location = anObjectIn.GetFloatArray("LocationArray");
            int level = anObjectIn.GetInt("CenterNodeLevel");

            GameObject aSettlement = ourGWM.createObject("Prefabs/Settlements/" + aSettlementName + "/" + level.ToString());
            aSettlement.name = "Settlement_" + aSettlementName + "_" + ID;
            aSettlement.transform.position = new Vector3(location[0], location[1], location[2]);
        }
 public override void HandleSync(ISFSObject obj)
 {
     if(obj.ContainsKey("gate_state")){
         int newState = obj.GetInt("gate_state");
         open = (newState == 0) ? true : false;
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Изменилось состояние игры
 /// </summary>
 /// <param name="data"></param>
 void GameStateChange(ISFSObject data)
 {
     GameStates gameState = (GameStates)Enum.Parse(typeof(GameStates), data.GetUtfString("gameState"));
     int time = data.GetInt("time");
     if (OnGameStateUpdate != null)
         OnGameStateUpdate(gameState, time);
 }
 public void HandleNetObjInit(ISFSObject data)
 {
     Debug.Log ("Handling obj init");
     int id = data.GetInt("id");
     NetSyncObj recipient = PlayerSpawner.Instance.GetRecipient(id);
     if(recipient != null){
         recipient.HandleInit(data);
     }
 }
 public void HandleNetObjSync(ISFSObject data)
 {
     //		Debug.Log ("Handling obj sync");
     int id = data.GetInt("id");
     NetSyncObj recipient = PlayerSpawner.Instance.GetRecipient(id);
     if(recipient != null){
         recipient.HandleSync(data);
     }
     //		Debug.Log ("Handle obj sync, id: " + id);
 }
        public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
        {
            string aResourceName = anObjectIn.GetUtfString("Name");
            int ID = anObjectIn.GetInt("ID");
            float[] location = anObjectIn.GetFloatArray("Location");

            GameObject aResource = ourGWM.createObject("Prefabs/Resources/" + aResourceName);
            aResource.name = "Resource_" + aResourceName + "_" + ID;
            aResource.transform.position = new Vector3(location[0], location[1], location[2]);

            //Add Newly spawned resource to Dictionary
            ourGWM.getResourceDictionary().Add(ID, aResource);
        }
Exemplo n.º 8
0
        public override void UserIdle(int localSeat, ISFSObject responseData)
        {
            if (_onUserIdle == null)
            {
                return;
            }

            ISFSObject data = responseData;

            data.PutInt(RequestKey.KeySeat, data.GetInt(RequestKey.KeySeat));
            data.PutBool(NewRequestKey.KeyUserIdle, true);
            var eventArgs = new DdzbaseEventArgs(data);

            _onUserIdle(this, eventArgs);
        }
        public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
        {
            string aNPCName = anObjectIn.GetUtfString("Name");
            int ID = anObjectIn.GetInt("ID");
            float[] location = anObjectIn.GetFloatArray("Location");

            GameObject aNPC = ourGWM.createObject("Prefabs/NPC/" + aNPCName);
            aNPC.name = "NPC_" + aNPCName + "_" + ID;
            aNPC.AddComponent<RemotePlayerController>();
            aNPC.transform.position = new Vector3(location[0], location[1], location[2]);
            aNPC.GetComponentInChildren<TextMesh>().text = aNPCName;

            //Add Newly spawned player to Dictionary
            ourGWM.getNPCDictionary().Add(ID, aNPC);
        }
Exemplo n.º 10
0
        public void InitItem(ISFSObject data)
        {
            _winTimeLabel.text = data.ContainsKey("ttwin") ? data.GetInt("ttwin").ToString() : "0";

            _lostTimeLabel.text = data.ContainsKey("ttlost") ? data.GetInt("ttlost").ToString() : "0";

            int score = data.ContainsKey("gold") ? data.GetInt("gold") : 0;

            SetScoreLabel(score);

            if (data.ContainsKey("seat"))
            {
                int seat = data.GetInt("seat");

                var gdata = App.GetGameData <PaiJiuGameData>();

                var userInfo = gdata.GetPlayer <PaiJiuPlayer>(seat, true).Info;
                if (userInfo != null)
                {
                    PlayerName = userInfo.NickM;
                    PortraitDb.SetPortrait(userInfo.AvatarX, _headImage, userInfo.SexI); //刷新头像
                }
                _lordMark.SetActive(seat == 0);
            }

            SetBigWinnerMark(false);
            if (data.ContainsKey("id"))
            {
                int id = data.GetInt("id");
                gameObject.SetActive(id >= 0);
            }
            else
            {
                gameObject.SetActive(false);
            }
        }
Exemplo n.º 11
0
        //----------------发牌:----

        public virtual void BeginGiveCards(ISFSObject responseData)
        {
            var gdata = App.GetGameData <BrttzGameData>();

            if (responseData.ContainsKey(Parameter.Bpg))
            {
                Bpg = responseData.GetIntArray(Parameter.Bpg);
            }
            if (responseData.ContainsKey(Parameter.Total))
            {
                gdata.GetPlayerInfo().CoinA = responseData.GetLong(Parameter.Total);
            }
            gdata.ResultUserTotal   = responseData.ContainsKey(Parameter.Win) ? responseData.GetInt(Parameter.Win) : 0;
            gdata.ResultBnakerTotal = responseData.ContainsKey(Parameter.Bwin) ? responseData.GetLong(Parameter.Bwin) : 0;
            CardsValue = responseData.GetSFSArray(Parameter.Cards);
        }
Exemplo n.º 12
0
        public void OnQueryHuCard(ISFSObject data)
        {
            var card     = data.GetInt("card");
            var arr      = data.GetIntArray("hulist");
            var ratelist = data.TryGetIntArray("ratelist");

            if (null != arr && arr.Length > 0)
            {
                GameCenter.EventHandle.Dispatch((int)UIEventProtocol.QueryHuCard, new QueryHuArgs()
                {
                    QueryCard    = card,
                    AllowHuCards = arr,
                    RateArray    = ratelist
                });
            }
        }
Exemplo n.º 13
0
        public override void OnQueryHulist(ISFSObject servdata)
        {
            var card = servdata.GetInt(_keyCard);

            if (_huqueryCacheList.ContainsKey(card))
            {
                _huqueryCacheList[card] = servdata;
            }
            else
            {
                _huqueryCacheList.Add(card, servdata);
            }
            SortServDataInfo(card);

            SetMahHuListInfo(card);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 获取牌型
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        CardType GetOutCardsType(ISFSObject data)
        {
            if (data.ContainsKey(RequestKey.KeyCardType))
            {
                return((CardType)data.GetInt(RequestKey.KeyCardType));
            }

            if (!data.ContainsKey(RequestKey.KeyCards))
            {
                return(0);
            }

            var cards = data.GetIntArray(RequestKey.KeyCards);

            return(PokerRuleUtil.GetCdsType(cards));
        }
Exemplo n.º 15
0
    // Updating transform of the remote player from server
    private void HandleTransform(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        NetworkTransform ntransform = NetworkTransform.FromSFSObject(dt);

        if (userId != smartFox.MySelf.Id)
        {
            // Update transform of the remote user object

            NetworkTransformReceiver recipient = PlayerManager.Instance.GetRecipient(userId);
            if (recipient != null)
            {
                recipient.ReceiveTransform(ntransform);
            }
        }
    }
Exemplo n.º 16
0
 public void SimpleParse(ISFSObject userData)
 {
     if (userData.ContainsKey("todayWin"))
     {
         WinTotalCoin = userData.GetInt("todayWin");
     }
     if (userData.ContainsKey("forbiden"))
     {
         Forbiden = userData.GetBool("forbiden");
     }
     if (userData.ContainsKey("total"))
     {
         CoinA = userData.GetLong("total");
     }
     Msg = userData.ContainsKey("msg") ? userData.GetUtfString("msg") : "--";
 }
Exemplo n.º 17
0
        /// <summary>
        /// 重新开始游戏后获得玩家信息
        /// </summary>
        /// <param name="resultData">存放玩家信息</param>
        public void OnRegameUserInofo(ISFSObject resultData)
        {
            if (resultData == null)
            {
                return;
            }
            if (!resultData.ContainsKey("type") || resultData.GetInt("type") != 3)
            {
                return;
            }
            var gdata  = App.GameData;
            var player = gdata.GetPlayer();

            player.Coin    = resultData.GetLong("totalGold");
            player.WinCoin = 0;
        }
Exemplo n.º 18
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="gameInfo"></param>
 protected override void InitGameData(ISFSObject gameInfo)
 {
     base.InitGameData(gameInfo);
     Ante   = gameInfo.GetInt("ante");
     Caichi = gameInfo.GetLong("caichi");
     if (gameInfo.ContainsKey("jilu"))
     {
         var sfZhongJiangJiLu = gameInfo.GetUtfStringArray("jilu");
         foreach (var t in sfZhongJiangJiLu)
         {
             // 保存启动时服务器发来的中奖纪录
             AddPrizeData(t, false);
         }
         YxDebug.LogError("cuol");
     }
 }
Exemplo n.º 19
0
 private void InitPlayerHeadImage(ISFSObject data)
 {
     if (data.ContainsKey("avatar"))
     {
         PortraitDb.SetPortrait(data.GetUtfString("avatar"), _headImage, data.GetShort("sex"));
     }
     else
     {
         var userInfo = GetUserInfo(data.GetInt("seat"));
         if (userInfo == null)
         {
             return;
         }
         PortraitDb.SetPortrait(userInfo.AvatarX, _headImage, userInfo.SexI);
     }
 }
Exemplo n.º 20
0
        private void SetTotalHappyScore(ISFSObject data)
        {
            if (TotalHappyScoreLabel == null)
            {
                return;
            }

            if (!data.ContainsKey("curHappyS"))
            {
                return;
            }

            int score = data.GetInt("curHappyS");

            TotalHappyScoreLabel.ShowScoreLabel(score);
        }
Exemplo n.º 21
0
 private void CustomUserState(ISFSObject data)
 {
     if (Manager)
     {
         int  seat  = data.GetInt("seat");
         bool focus = data.GetBool("focus");
         if (focus)
         {
             Manager.UserOnLine(seat, data);
         }
         else
         {
             Manager.UserIdle(seat, data);
         }
     }
 }
Exemplo n.º 22
0
        public void ShowTableResultInfo(ISFSObject responseData)
        {
            ShowPanel();
            if (responseData.ContainsKey("win"))
            {
                int selfResult = responseData.GetInt("win");
                SetLabel(selfResult, MResultLabel);
            }

            if (responseData.ContainsKey("bpg"))
            {
                long bankerResult = GetTotalGold(responseData, "bpg");
                SetLabel(bankerResult, BankerResultLabel);
                SetLabel(-bankerResult, PlayersResultLabel);
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// 显示玩家下注信息
        /// </summary>
        /// <param name="panel"></param>
        /// <param name="user"></param>
        private void ShowOnesBetVal(PaiJiuPlayer panel, ISFSObject user)
        {
            if (!user.ContainsKey("beat"))
            {
                return;
            }
            int betVal = user.GetInt("beat");

            if (betVal <= 0)
            {
                return;
            }
            panel.PlayerBet(betVal);

            panel.ShowBetLabel();
            panel.CoinLabel.Text(YxUtiles.ReduceNumber(user.GetLong("ttgold") - betVal));
        }
Exemplo n.º 24
0
        public virtual void OnQueryHulist(ISFSObject data)
        {
            //int[] arr = data.GetIntArray("hulist");

            var hulist  = data.GetSFSArray("hulist");
            var intList = new List <int>();

            foreach (ISFSObject sfsobj in hulist)
            {
                var cds = sfsobj.GetIntArray("cards");
                var len = cds.Length;
                for (int i = 0; i < len; i++)
                {
                    if (D2MahjongMng.Instance.IsContainMahjongMeKey(cds[i]))
                    {
                        intList.Add(cds[i]);
                    }
                }
            }

            int[] arr = intList.ToArray();

            int cardValue = (int)data.GetInt("card");

            if (currMahjong == null || currMahjong.MahjongItem.Value != cardValue || mahjongQueryCache.ContainsKey(cardValue))
            {
                return;
            }

            mahjongQueryCache.Add(cardValue, FilterCards(arr));

            QueryHulistData hulistData = new QueryHulistData((int)MahjongIcon.Flag.Ting, currMahjong.MahjongItem.Value, currMahjong.MahjongItem.MahjongIndex, laizi);

            hulistData.Cards = mahjongQueryCache[currMahjong.MahjongItem.Value];

            if (null != arr || arr.Length > 0)
            {
                //任意牌
                if (Array.Exists(arr, (a) => { return(a == 0); }))
                {
                    hulistData.LeaveMahjongCnt = leaveMahjongCnt;
                }

                EventDispatch.Dispatch((int)GameEventId.QueryHulist, new EventData(hulistData));
            }
        }
Exemplo n.º 25
0
        /// <summary>
        /// 获得分数结果
        /// </summary>
        /// <param name="data"></param>
        public void GetScoreResult(ISFSObject data)
        {
            GetOnLinePlayerList(data, true);
            Win       = data.GetInt(ConstantData.KeyWinCount);
            BankerWin = data.GetIntArray(ConstantData.KeyBetPage);
            var count = BankerWin.Sum();

            if (data.ContainsKey(ConstantData.KeyBankerWinGold))
            {
                BankerWinGold = data.GetLong(ConstantData.KeyBankerWinGold);
            }
            else
            {
                BankerWinGold = count;
            }
            BankerIsWin = count > 0;
        }
Exemplo n.º 26
0
        public void ShowTableResultInfo(ISFSObject responseData)
        {
            ShowPanel();
            if (responseData.ContainsKey("bwin"))
            {
                var bankerWin = responseData.GetLong("bwin");
                SetLabel(bankerWin, BankerResultLabel);
                SetLabel(-bankerWin, PlayersResultLabel);
            }


            if (responseData.ContainsKey("win"))
            {
                int myWin = responseData.GetInt("win");
                SetLabel(myWin, MResultLabel);
            }
        }
 public override void HandleSync(ISFSObject obj)
 {
     if(obj.ContainsKey("trigger_state")){
         int newState = obj.GetInt("trigger_state");
         switch(newState){
         case 0:
             state = TriggerState.LEFT;
             break;
         case 1:
             state = TriggerState.MIDDLE;
             break;
         case 2:
             state = TriggerState.RIGHT;
             break;
         }
     }
 }
Exemplo n.º 28
0
        /// <summary>
        /// 初始化自己的信息
        /// </summary>
        /// <param name="gameInfo"></param>
        /// <param name="maxPoint"></param>
        void InitSelf(ISFSObject gameInfo, ref int maxPoint)
        {
            if (!gameInfo.ContainsKey("user"))
            {
                return;
            }
            var        gdata     = App.GetGameData <FillpitGameData>();
            ISFSObject self      = gameInfo.GetSFSObject("user");
            var        selfPanel = gdata.GetPlayer <PlayerPanel>();

            InitOne(self, ref maxPoint);
            if (self.ContainsKey("cards"))
            {
                var cards = self.GetIntArray("cards");
                if (cards.Length > 0)
                {
                    int   hidenCount = DealerMgr.HideN;
                    int[] tempArray  = new int[hidenCount];
                    Array.Copy(cards, tempArray, hidenCount);
                    selfPanel.UserBetPoker.SetHandPokersValue(tempArray);
                }
            }

            if (self.ContainsKey("selfCV"))
            {
                selfPanel.SetAllCardPoint(self.GetInt("selfCV"));
            }

            //设置自己的准备状态
            if (gdata.IsRoomGame)
            {
                bool selfStart  = selfPanel.Info.Seat == 0;
                bool couldStart = !gdata.IsPlayed && selfStart;
                bool isReady    = selfPanel.ReadyState;
                bool isGameing  = gdata.IsGameing;
                bool nmno       = gdata.Nmno;
                selfPanel.SetStartBtnActive(couldStart && !isReady && !nmno);
                selfPanel.SetReadyBtnActive(!isGameing && !isReady && (!couldStart || nmno));
            }
            else
            {
                bool isReady = selfPanel.ReadyState;
                selfPanel.SetReadyBtnActive(!gdata.IsGameing && !isReady);
                selfPanel.SetStartBtnActive(false);
            }
        }
        public void HandleResponse(ISFSObject anObjectIn, GameWorldManager ourGWM)
        {
            GameObject aContributionPanel = ourGWM.createObject("UI/ContributionPanel");
            aContributionPanel.name = "ContributionPanel";
            aContributionPanel.transform.SetParent(GameObject.Find("UICanvas").transform);
            aContributionPanel.transform.localPosition = new Vector3(0, 0, 0);
            aContributionPanel.transform.FindChild("ExitButton").GetComponent<Button>().onClick.AddListener(() => GameObject.Find("SceneScriptsObject").GetComponent<GameUI>().contributionExitButton_Clicked());
            aContributionPanel.transform.FindChild("ContributeButton").GetComponent<Button>().onClick.AddListener(() => GameObject.Find("SceneScriptsObject").GetComponent<GameUI>().contributionButton_Clicked());
            aContributionPanel.transform.FindChild("NameLabel").GetComponent<Text>().text = anObjectIn.GetUtfString("Name");
            aContributionPanel.transform.FindChild("LevelLabel").GetComponent<Text>().text = "(Level " + anObjectIn.GetInt("CenterNodeLevel").ToString() + ")";
            aContributionPanel.transform.FindChild("CurrentContributionLabel").GetComponent<Text>().text = anObjectIn.GetInt("Contribution").ToString();
            aContributionPanel.transform.FindChild("ContributionCapTotalLabel").GetComponent<Text>().text = anObjectIn.GetInt("ContributionCap").ToString();
            aContributionPanel.transform.FindChild("ContributionPB").GetComponent<Scrollbar>().size = (float)anObjectIn.GetInt("CurrentTNL") / (float)anObjectIn.GetInt("TotalTNL");
            aContributionPanel.transform.FindChild("ContributionPB").FindChild("ContributionText").GetComponent<Text>().text = anObjectIn.GetInt("CurrentTNL").ToString() + " / " + anObjectIn.GetInt("TotalTNL").ToString();
            aContributionPanel.transform.FindChild("CurrentFoodLabel").GetComponent<Text>().text = anObjectIn.GetInt("CurrentFood").ToString();

            //Switch Cursor Mode
            Camera.main.GetComponent<CameraController>().setCursorVisible(true);
        }
Exemplo n.º 30
0
        /// <summary>
        /// 加入游戏
        /// </summary>
        /// <param name="status"></param>
        /// <param name="requestData"></param>
        public void OnNnJoinGame(int status, ISFSObject requestData)
        {
            RobBank.SetRobValue(requestData.GetIntArray(InteractParameter.RobRate));
            _isCuoPai = requestData.GetBool(InteractParameter.IsCuoPai);
            YxDebug.Log("===================   进入房间   ========================");
            TableShow(requestData);
            var state = (GameNnStates)requestData.GetInt(InteractParameter.State);

            switch (state)
            {
            case GameNnStates.Init:     //玩家自己创建房间
                YxDebug.Log("【进入房间state:" + state + " -----> 玩家自己创建房间");
                InitEmptyRoom();
                break;

            case GameNnStates.Waiting:     //准备
                YxDebug.Log("【进入房间state:" + state + " -----> 准备");
                InitReadying();
                break;

            case GameNnStates.RobBank:     //抢庄
                YxDebug.Log("【进入房间state:" + state + " -----> 抢庄");
                //InitGrabingBanker(requestData);
                break;

            case GameNnStates.Ante:     //下注中
                YxDebug.Log("【进入房间state:" + state + " -----> 下注中");
                InitAnteing(requestData);
                break;

            case GameNnStates.ViewCard:     //开牌中
                YxDebug.Log("【进入房间state:" + state + " -----> 开牌中");
                InitShowingPoker(requestData);
                break;

            case GameNnStates.GameOver:     //游戏结束
                YxDebug.Log("【进入房间state:" + state + " ----->  计算结果");
                InitResulting(requestData);
                break;

            default:
                YxDebug.Log("【进入房间state:" + state + " -----> 没有执行脚本");
                break;
            }
        }
Exemplo n.º 31
0
        public void CheckGpsInfo(ISFSObject data)
        {
            var userID = data.GetInt(ConstantData.KeyUserId);

            for (int i = 0, max = Players.Length; i < max; i++)
            {
                var player = Players[i];
                if (player == null)
                {
                    continue;
                }
                if (Players[i].UserInfo != null && Players[i].UserInfo.id.Equals(userID) &&
                    Players[i].CurrentInfoPanel.gameObject.activeInHierarchy)
                {
                    Players[i].UserInfo.SetGpsData(data);
                }
            }
        }
Exemplo n.º 32
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);
     }
 }
Exemplo n.º 33
0
        /// <summary>
        /// 设置用户信息
        /// </summary>
        /// <param name="overinfo">总结算给的用户信息</param>
        public void SetUserInfo(ISFSObject overinfo)
        {
            var userSeat = overinfo.GetInt("seat");
            var userInfo = App.GetGameData <GlobalData>().GetUserInfo(userSeat);

            if (userInfo == null)
            {
                throw new Exception("GlobalData里没有相关座位用户信息");
            }

            //名字
            UserName.text = userInfo.GetUtfString(RequestKey.KeyName);

            if (userInfo.ContainsKey(RequestKey.KeyId))
            {
                IdLabel.text = "ID:" + userInfo.GetInt(RequestKey.KeyId).ToString(CultureInfo.InvariantCulture);
            }

            //头像
            DDzUtil.LoadRealHeadIcon(userInfo.GetUtfString("avatar"), userInfo.GetShort("sex"), UserIcon);

            //单局最高得分
            BestScore.text = overinfo.GetInt("max").ToString(CultureInfo.InvariantCulture);

            //胜负局数
            WinAndLose.text = overinfo.GetInt("win") + "胜" + overinfo.GetInt("lost") + "负";

            //总积分
            AllScore.text = overinfo.GetInt("gold").ToString(CultureInfo.InvariantCulture);

            if (overinfo.ContainsKey("boom"))
            {
                BombNum.text = overinfo.GetInt("boom").ToString(CultureInfo.InvariantCulture);
            }


            FzSprite.SetActive(false);
            BigWinner.SetActive(false);
            if (overinfo.ContainsKey(RequestKey.KeyId))
            {
                var userid = overinfo.GetInt(RequestKey.KeyId);

                LocalPosLabel.text = GpsInfListener.GetContryInfo(userid);

                FzSprite.SetActive(userid == App.GetGameData <GlobalData>().GetOwerId);
            }
        }
Exemplo n.º 34
0
    public override void OnHandleMessage(ISFSObject data)
    {
        maxCharacters = data.GetInt("maxCharacters");
        ISFSObject characters = data.GetSFSObject("characters");
        Character character;
        foreach (string key in characters.GetKeys())
        {
            character = new Character();
            Debug.Log("Adding character: " + key);
            if (character.FromSFSObject(characters.GetSFSObject(key)))
            {
                characterList.Add(character);
            }
        }

        Debug.Log("Max: " + maxCharacters);
        Debug.Log("Characters: " + characterList.Count);
    }
Exemplo n.º 35
0
        /// <summary>
        /// 根据座位号存储其他玩家信息
        /// </summary>
        /// <param name="servData">服务器信息</param>
        protected override void SetOtherPlayerData(ISFSObject servData)
        {
            UpSeatInt  = App.GetGameData <GlobalData>().GetRightPlayerSeat;
            OwnSeatInt = App.GetGameData <GlobalData>().GetLeftPlayerSeat;
            if (servData.ContainsKey(NewRequestKey.KeyPlayerNum) && servData.GetInt(NewRequestKey.KeyPlayerNum) != 3)
            {
                _isleftPlayerActive = false;
                return;
            }
            var dataDic = GetOtherUsesDic(servData);
            var seat    = OwnSeatInt;

            if (dataDic.ContainsKey(seat))
            {
                UserDataTemp = dataDic[seat];
                RefreshUiInfo();
            }
        }
Exemplo n.º 36
0
        public virtual void SetResultItem(ISFSObject user, YxBaseUserInfo userInfo)
        {
            var gdata = App.GetGameData <TexasGameData>();

            if (gdata == null)
            {
                return;
            }
            WinGold    = user.GetInt("gold");
            PlayerName = userInfo.NickM;
            SetLordMark(gdata.IsRoomOwner);
            SetBigWinnerMark(false);
            gameObject.SetActive(true);
            var sex  = userInfo.SexI;
            var head = userInfo.AvatarX;

            PortraitDb.SetPortrait(head, HeadImage, sex);
        }
Exemplo n.º 37
0
        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;
        }
Exemplo n.º 38
0
        void AddScoreInfo(ref UserMatchInfo matchInfo, ISFSObject scoreInfo)
        {
            matchInfo.Swat = scoreInfo.ContainsKey("quanleida") && scoreInfo.GetBool("quanleida");

            matchInfo.TtScore = scoreInfo.GetInt("score");

            ISFSArray scoreArray = scoreInfo.GetSFSArray("dunscore");

            foreach (ISFSObject score in scoreArray)
            {
                matchInfo.NormalScores.Insert(0, score.GetInt("normal"));
                matchInfo.AddScore.Insert(0, score.GetInt("add"));
            }

            if (scoreInfo.ContainsKey("basesocre"))
            {
                matchInfo.ShootScore = scoreInfo.GetIntArray("basesocre");
            }
        }
Exemplo n.º 39
0
    public override void OnHandleMessage(ISFSObject data)
    {
        maxCharacters = data.GetInt("maxCharacters");
        ISFSObject characters = data.GetSFSObject("characters");
        Character  character;

        foreach (string key in characters.GetKeys())
        {
            character = new Character();
            Debug.Log("Adding character: " + key);
            if (character.FromSFSObject(characters.GetSFSObject(key)))
            {
                characterList.Add(character);
            }
        }

        Debug.Log("Max: " + maxCharacters);
        Debug.Log("Characters: " + characterList.Count);
    }
Exemplo n.º 40
0
        public override void GameStatus(int status, ISFSObject info)
        {
            var statusData = info.GetInt("status");

            switch (statusData)
            {
            case (int)GameState.Waiting:
            case (int)GameState.Start:
            case (int)GameState.ZhuangGold:
                break;

            case (int)GameState.RollDice:
            case (int)GameState.XiaZhu:
            case (int)GameState.Over:
                CardCtrl.CreatCards();
                TipCtrl.ShowWaiting();
                break;
            }
        }
Exemplo n.º 41
0
        /// <summary>
        /// 显示玩家下注信息
        /// </summary>
        /// <param name="panel"></param>
        /// <param name="user"></param>
        private void ShowOnesBetVal(DuifenPlayerPanel panel, ISFSObject user)
        {
            if (!user.ContainsKey("ttxz"))
            {
                return;
            }
            int betVal = user.GetInt("ttxz");

            if (betVal <= 0)
            {
                return;
            }
            BetMgr.PlayerBet(panel, betVal);
            panel.PlayerBet(betVal);
            LaddyMgr.AllBetMoney += betVal;

            panel.ShowBetLabel();
            panel.Coin = user.GetLong("ttgold") - betVal;
        }
Exemplo n.º 42
0
    // Handle player killed
    private void HandleKill(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        int killerId = dt.GetInt("killerId");

        if (userId != smartFox.MySelf.Id) {
            PlayerManager.Instance.KillEnemy(userId);
            if (killerId == smartFox.MySelf.Id) {
                // mOOOOnster kiLL!
                //SoundManager.Instance.PlayKillEnemy(PlayerManager.Instance.GetPlayerObject().audio);
            }
        }
        else {
            PlayerManager.Instance.KillMe();
        }
    }
Exemplo n.º 43
0
 // Health of the player changed - updating GUI and playing sounds if it's damage
 private void HandleHealthChange(ISFSObject dt)
 {
     int userId = dt.GetInt("id");
     int health = dt.GetInt("health");
     if (userId != smartFox.MySelf.Id) {
         PlayerManager.Instance.UpdateHealthForEnemy(userId, health);
     }
 }
Exemplo n.º 44
0
 /// <summary>
 /// Обновилось текущее время на сервере
 /// </summary>
 /// <param name="data"></param>
 void CurrentTimeUpdate(ISFSObject data)
 {
     if (OnCurrentTimeUpdate != null)
         OnCurrentTimeUpdate(data.GetInt("currentTime"));
 }
Exemplo n.º 45
0
    // When someon shots handle it and play corresponding animation
    private void HandleShotFired(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        if (userId != smartFox.MySelf.Id) {
            SoundManager.Instance.PlayShot(PlayerManager.Instance.GetRecipient(userId).audio);
            PlayerManager.Instance.SyncAnimation(userId, "Shot", 1);
        }
        else {
            GameObject obj = PlayerManager.Instance.GetPlayerObject();
            if (obj == null) return;

            SoundManager.Instance.PlayShot(obj.audio);
            obj.GetComponent<AnimationSynchronizer>().PlayShotAnimation();

            PlayerManager.Instance.ShotEffect();
        }
    }
Exemplo n.º 46
0
    // Updating transform of the remote player from server
    private void HandleTransform(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        NetworkTransform ntransform = NetworkTransform.FromSFSObject(dt);
        if (userId != smartFox.MySelf.Id) {
            // Update transform of the remote user object

            NetworkTransformReceiver recipient = PlayerManager.Instance.GetRecipient(userId);
            if (recipient!=null) {
                recipient.ReceiveTransform(ntransform);
            }
        }
    }
 private void HandleDestoryObject(ISFSObject dt)
 {
     int id = dt.GetInt("id");
     PlayerSpawner.Instance.DestroyEnemy(id);
     Debug.Log ("Destroying object id: " + id);
 }
Exemplo n.º 48
0
 private void OnUserDisconnect(ISFSObject dt)
 {
     int user = dt.GetInt("user");
     PlayerManager.Instance.DestroyEnemy(user);
     Debug.Log("User "+user+" left");
 }
Exemplo n.º 49
0
 private void unlockBlock(ISFSObject msg)
 {
     _blocks[msg.GetInt("index")].rigidbody.isKinematic = false;
 }
Exemplo n.º 50
0
 public void showTimer(ISFSObject data)
 {
     gameObject.GetComponent<HackSecondsManager>().setAction(data.GetUtfString("ACTION"));
     gameObject.GetComponent<HackSecondsManager>().setSeconds(data.GetInt("seconds"));
 }
Exemplo n.º 51
0
    // Score changed message from server
    private void HandleScoreChange(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        int score = dt.GetInt("score");

        User user = smartFox.UserManager.GetUserById(userId);
        if (user!=null) {
            string name = user.Name;
            PlayerScore.Instance.SetScore(name, score);
        }
    }
Exemplo n.º 52
0
    // Synchronizing remote animation
    private void HandleAnimation(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        string msg = dt.GetUtfString("msg");
        int layer = dt.GetInt("layer");

        //		Debug.Log("userID"+ userId + " " + layer + " " + msg);
        if (userId != smartFox.MySelf.Id) {
            PlayerManager.Instance.SyncAnimation(userId, msg, layer);
        }
    }
Exemplo n.º 53
0
    // Server rejected transform message - force the local player object to what server said
    private void HandleNoTransform(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        NetworkTransform ntransform = NetworkTransform.FromSFSObject(dt);

        if (userId == smartFox.MySelf.Id) {
            // Movement restricted!
            // Update transform of the local object
            ntransform.Update(PlayerManager.Instance.GetPlayerObject().transform);
        }
    }
Exemplo n.º 54
0
    // Removing item (hwen it was picked up by someone)
    private void HandleRemoveItem(ISFSObject dt)
    {
        int playerId = dt.GetInt("playerId");
        ISFSObject item = dt.GetSFSObject("item");
        int id = item.GetInt("id");
        string type = item.GetUtfString("type");
        if (playerId == smartFox.MySelf.Id) {
            if (type == "HealthPack") {
                SoundManager.Instance.PlayPickupHealthPack(PlayerManager.Instance.GetPlayerObject().audio);
            }
            else if (type == "Ammo") {
                SoundManager.Instance.PlayPickupAmmo(PlayerManager.Instance.GetPlayerObject().audio);
            }
        }

        PlayerManager.Instance.RemoveItem(id);
    }
Exemplo n.º 55
0
 // When someon shots handle it and play corresponding animation
 private void HandleShotFired(ISFSObject dt)
 {
     int userId = dt.GetInt ("id");
     if (userId != smartFox.MySelf.Id) {
         double sx, sy, sz, ex, ey, ez;
         sx = dt.GetDouble ("sx");
         sy = dt.GetDouble ("sy");
         sz = dt.GetDouble ("sz");
         ex = dt.GetDouble ("ex");
         ey = dt.GetDouble ("ey");
         ez = dt.GetDouble ("ez");
         Vector3 start = new Vector3 ((float)sx, (float)sy, (float)sz);
         Vector3 end = new Vector3 ((float)ex, (float)ey, (float)ez);
         string shooterName = smartFox.LastJoinedRoom.GetUserById (userId).Name;
         //SoundManager.Instance.PlayShot(PlayerManager.Instance.GetRecipient(userId).audio);
         //PlayerManager.Instance.SyncAnimation(userId, "Shot", 1);
         Attack.instance.shot (start, end, shooterName);
     }
 }
Exemplo n.º 56
0
    // Health of the player changed - updating GUI and playing sounds if it's damage
    private void HandleHealthChange(ISFSObject dt)
    {
        int userId = dt.GetInt("id");
        int health = dt.GetInt("health");
        if (userId == smartFox.MySelf.Id) {
            if (health<GameHUD.Instance.Health) {
                SoundManager.Instance.PlayDamage(PlayerManager.Instance.GetPlayerObject().audio);
            }

            GameHUD.Instance.UpdateHealth(health);
        }
        else {
            PlayerManager.Instance.UpdateHealthForEnemy(userId, health);
        }
    }
Exemplo n.º 57
0
 public void Update(ISFSObject obj)
 {
     this.owner = obj.GetUtfString("OWNER");
     this.atk = obj.GetInt("ATK");
     this.def = obj.GetInt("DEF");
     ISFSArray sws = obj.GetSFSArray("SW");
     this.sw = new string[3];
     this.sw[0] = (string) sws.GetElementAt(0);
     this.sw[1] = (string) sws.GetElementAt(1);
     this.sw[2] = (string) sws.GetElementAt(2);
 }
Exemplo n.º 58
0
 public void Setup(ISFSObject obj)
 {
     particleSystem.renderer.sortingLayerName = "2 Middle Lower UI";
     this.gwName = obj.GetUtfString("NAME");
     this.state = obj.GetUtfString("STATE");
     this.owner = obj.GetUtfString("OWNER");
     this.atk = obj.GetInt("ATK");
     this.def = obj.GetInt("DEF");
     this.type = obj.GetUtfString("TYPE");
     ISFSArray sws = obj.GetSFSArray("SW");
     this.region = obj.GetUtfString("REGION");
     this.sw = new string[3];
     this.sw[0] = (string) sws.GetElementAt(0);
     this.sw[1] = (string) sws.GetElementAt(1);
     this.sw[2] = (string) sws.GetElementAt(2);
     mg = GameObject.Find("Manager").GetComponent<Manager>();
     gameObject.transform.position = new Vector3((float)obj.GetDouble("X")*mg.getScale().x,(float)obj.GetDouble("Y")*mg.getScale().y,1F);
     gameObject.transform.localScale = new Vector3(0.25f,0.25f,0.25f);
 }
Exemplo n.º 59
0
    // Updating transform of the remote player from server
    private void HandleTransform(ISFSObject dt)
    {
        //Debug.Log("transform!!");
        int userId = dt.GetInt("id");
        //
        if (userId != smartFox.MySelf.Id) {
            // Update transform of the remote user object

            NetworkTransformReceiver recipient = PlayerManager.Instance.GetRecipient(userId);
            if (recipient==null) Debug.Log("me mameeeeee");
            else Debug.Log("me llegan datos de "+userId);
            ISFSArray data = dt.GetSFSArray("transform");
            //NetworkTransform ntransform = NetworkTransform.FromSFSObject(data);
                if (recipient!=null) {
                    //recipient.ReceiveTransform(ntransform);
                    recipient.addObject(data);
                    //System.Threading.Thread.Sleep((int)Time.deltaTime);
                }

            /*ISFSArray buff = dt.GetSFSArray("transformBuffer");
            if (buff == null) Debug.Log("ES NULLLLLLLL - BUFFER");
            Debug.Log("SIZE BUFFER: "+buff.Size());
            int num = 0;
            foreach (SFSObject obj in buff){
                Debug.Log("Paquete NRO: " + num);
                num++;
                NetworkTransform ntransform = NetworkTransform.FromSFSObject(obj);
                if (recipient!=null) {
                    recipient.addObject(ntransform);
                }
            }	*/
        }
    }
    // Instantiating player (our local FPS model, or remote 3rd person model)
    private void HandleInstantiatePlayer(ISFSObject dt)
    {
        int userId = dt.GetInt("owner");
        int id = dt.GetInt("id");

        User user = smartFox.UserManager.GetUserById(userId);
        string name = user.Name;

        if (userId == smartFox.MySelf.Id) {
            PlayerSpawner.Instance.SpawnPlayer(id, name, dt);
            Debug.Log ("Handle spawn request (local), user ID: " + userId + ", id: " + id);
        }
        else {
            PlayerSpawner.Instance.SpawnEnemy(id, name, dt);
            Debug.Log ("Handle spawn request (remote), user ID: " + userId + ", id: " + id);
        }
    }