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; } }
/// <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); }
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); }
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); } }
//----------------发牌:---- 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); }
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 }); } }
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); }
/// <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)); }
// 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); } } }
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") : "--"; }
/// <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; }
/// <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"); } }
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); } }
private void SetTotalHappyScore(ISFSObject data) { if (TotalHappyScoreLabel == null) { return; } if (!data.ContainsKey("curHappyS")) { return; } int score = data.GetInt("curHappyS"); TotalHappyScoreLabel.ShowScoreLabel(score); }
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); } } }
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); } }
/// <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)); }
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)); } }
/// <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; }
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; } } }
/// <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); }
/// <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; } }
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); } } }
/// <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); } }
/// <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); } }
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); }
/// <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(); } }
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); }
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; }
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"); } }
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; } }
/// <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; }
// 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(); } }
// 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); } }
/// <summary> /// Обновилось текущее время на сервере /// </summary> /// <param name="data"></param> void CurrentTimeUpdate(ISFSObject data) { if (OnCurrentTimeUpdate != null) OnCurrentTimeUpdate(data.GetInt("currentTime")); }
// 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(); } }
// 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); }
private void OnUserDisconnect(ISFSObject dt) { int user = dt.GetInt("user"); PlayerManager.Instance.DestroyEnemy(user); Debug.Log("User "+user+" left"); }
private void unlockBlock(ISFSObject msg) { _blocks[msg.GetInt("index")].rigidbody.isKinematic = false; }
public void showTimer(ISFSObject data) { gameObject.GetComponent<HackSecondsManager>().setAction(data.GetUtfString("ACTION")); gameObject.GetComponent<HackSecondsManager>().setSeconds(data.GetInt("seconds")); }
// 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); } }
// 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); } }
// 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); } }
// 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); }
// 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); } }
// 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); } }
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); }
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); }
// 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); } }