/// <summary> /// 初始化用户信息 /// </summary> /// <param name="gameInfo"></param> public void InitUser(ISFSObject gameInfo) { if (gameInfo.ContainsKey("user")) { InitUserGameState(gameInfo.GetSFSObject("user")); } //初始化其他玩家信息 if (gameInfo.ContainsKey("users")) { //初始化每个玩家的信息 ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList); foreach (ISFSObject user in users) { InitUserGameState(user); } ResultMgr.DoResult(); } var gdata = App.GetGameData <SssGameData>(); gdata.GetPlayer <SelfPanel>().SetReadyBtnActive(!gdata.IsPlaying); //初始化庄家标识 if (gameInfo.ContainsKey("banker")) { int bankerSeat = gameInfo.GetInt("banker"); gdata.BankerSeat = bankerSeat; gdata.IsBankerModel = true; gdata.GetPlayer <SssPlayer>(bankerSeat, true).SetBankerMarkActive(); } }
/// <summary> /// 结算信息检测 /// </summary> /// <param name="users"></param> /// <param name="ownerId"></param> private void CheckResultInfo(ISFSArray users, int ownerId) { var usersCount = Data.PlayerNum; playerData = new OverData[usersCount]; int maxScore = 0, minScore = 0; var winList = new List <int>(); var loseList = new List <int>(); for (int i = 0; i < usersCount; i++) { ISFSObject obj = users.GetSFSObject(i); var item = playerData[i] = new OverData(obj, ownerId); var itemGold = item.gold; CheckMaxValue(i, itemGold, ref maxScore, winList); CheckMinValue(i, itemGold, ref minScore, loseList); } var winCount = winList.Count; for (int i = 0; i < winCount; i++) { playerData[winList[i]].isYingJia = true; } var loseCount = loseList.Count; for (int i = 0; i < loseCount; i++) { playerData[loseList[i]].isPaoShou = true; } }
private ISFSArray UnrollArray(ArrayList arr) { ISFSArray iSFSArray = SFSArray.NewInstance(); IEnumerator enumerator = arr.GetEnumerator(); try { while (enumerator.MoveNext()) { object current = enumerator.Current; SFSDataWrapper sFSDataWrapper = WrapField(current); if (sFSDataWrapper == null) { throw new SFSCodecError(string.Concat("Cannot serialize field of array: ", current, " -- unsupported type!")); } iSFSArray.Add(sFSDataWrapper); } return(iSFSArray); } finally { IDisposable disposable; if ((disposable = enumerator as IDisposable) != null) { disposable.Dispose(); } } }
private void ConvertCsObj(object csObj, ISFSObject sfsObj) { Type type = csObj.GetType(); string fullName = type.FullName; SerializableSFSType serializableSFSType = csObj as SerializableSFSType; if (serializableSFSType == null) { throw new SFSCodecError(string.Concat("Cannot serialize object: ", csObj, ", type: ", fullName, " -- It doesn't implement the SerializableSFSType interface")); } ISFSArray iSFSArray = SFSArray.NewInstance(); sfsObj.PutUtfString(CLASS_MARKER_KEY, fullName); sfsObj.PutSFSArray(CLASS_FIELDS_KEY, iSFSArray); FieldInfo[] fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); FieldInfo[] array = fields; foreach (FieldInfo fieldInfo in array) { string name = fieldInfo.Name; object value = fieldInfo.GetValue(csObj); ISFSObject iSFSObject = SFSObject.NewInstance(); SFSDataWrapper sFSDataWrapper = WrapField(value); if (sFSDataWrapper != null) { iSFSObject.PutUtfString(FIELD_NAME_KEY, name); iSFSObject.Put(FIELD_VALUE_KEY, sFSDataWrapper); iSFSArray.AddSFSObject(iSFSObject); continue; } throw new SFSCodecError(string.Concat("Cannot serialize field of object: ", csObj, ", field: ", name, ", type: ", fieldInfo.GetType().Name, " -- unsupported type!")); } }
private ISFSArray DecodeSFSArray(ByteArray buffer) { //Discarded unreachable code: IL_00c1 ISFSArray iSFSArray = SFSArray.NewInstance(); SFSDataType sFSDataType = (SFSDataType)Convert.ToInt32(buffer.ReadByte()); if (sFSDataType != SFSDataType.SFS_ARRAY) { throw new SFSCodecError(string.Concat("Invalid SFSDataType. Expected: ", SFSDataType.SFS_ARRAY, ", found: ", sFSDataType)); } int num = buffer.ReadShort(); if (num < 0) { throw new SFSCodecError("Can't decode SFSArray. Size is negative: " + num); } try { for (int i = 0; i < num; i++) { SFSDataWrapper sFSDataWrapper = DecodeObject(buffer); if (sFSDataWrapper != null) { iSFSArray.Add(sFSDataWrapper); continue; } throw new SFSCodecError("Could not decode SFSArray item at index: " + i); } return(iSFSArray); } catch (SFSCodecError sFSCodecError) { throw sFSCodecError; } }
public void refreshInventory(ISFSArray inv) { for(int i = 0; i<9; i++) { sw[i] = (String) inv.GetElementAt(i); } }
public void ProcessUsersInfo(ISFSArray usersInfo) { foreach (ISFSObject user in usersInfo) { if (!user.ContainsKey("betGolds")) { return; } var selfSeat = App.GameData.SelfSeat; int seat = user.GetInt("seat"); var betArray = user.GetIntArray("betGolds"); int len = betArray.Length; for (int i = 0; i < len; i++) { var betV = betArray[i]; if (betV == 0) { continue; } if (seat == selfSeat) { SelfBet(i, betV); } else { GameInfoBet(i, betV); } } } }
public void BeginGiveCards(ISFSObject responseData) { var gdata = App.GetGameData <BrnnGameData>(); Pg = new[] { 0, 0, 0, 0 }; Bpg = new[] { 0, 0, 0, 0 }; if (responseData.ContainsKey("total")) { gdata.GetPlayerInfo().CoinA = responseData.GetLong("total"); } if (responseData.ContainsKey("pg")) { Pg = responseData.GetIntArray("pg"); } if (responseData.ContainsKey("bpg")) { Bpg = responseData.GetIntArray("bpg"); } gdata.ResultUserTotal = responseData.ContainsKey("win") ? responseData.GetInt("win") : 0; gdata.ResultBnakerTotal = responseData.ContainsKey("bwin") ? responseData.GetLong("bwin") : 0; Cards = responseData.GetSFSArray("cards"); Nn = responseData.GetSFSArray("nn"); BeginClone(); InvokeRepeating("ReadyGiveCards", 0, 0.1f); }
protected override void InitGameData(ISFSObject gameInfo) { base.InitGameData(gameInfo); BankList = gameInfo.GetSFSArray("bankers"); B = gameInfo.GetInt("banker"); Bkmingold = gameInfo.GetInt("bkmingold"); }
public void InitPlayerCards(SFSObject dataObject) { ISFSArray hand = dataObject.GetSFSArray("hand"); ISFSArray hideCards = dataObject.GetSFSArray("hide"); ISFSArray dropCards = dataObject.GetSFSArray("drop"); ISFSArray fieldCards = dataObject.GetSFSArray("field"); dropNumber.text = dropCards.Size().ToString(); deckNumber.text = hideCards.Size().ToString(); for (int i = 0; i < tmpInst.Count; i++) { Destroy(tmpInst[i]); } tmpInst.Clear(); for (int i = 0; i < fieldTMPInst.Count; i++) { Destroy(fieldTMPInst[i]); } fieldTMPInst.Clear(); for (int i = 0; i < hand.Size(); i++) { GiveCardToHand(hand.GetSFSObject(i)); } for (int i = 0; i < fieldCards.Size(); i++) { addCardToField(fieldCards.GetSFSObject(i)); } }
private void OnResult(object data) { ISFSArray arr = (ISFSArray)data; for (int i = 0; i < arr.Count; i++) { ISFSObject obj = arr.GetSFSObject(i); int result = obj.GetInt("ResultType"); int chair = obj.GetInt("Chair"); if (result == 0) { int win = obj.GetInt("WinGold"); BeatPool.ResultMoveChips(Players[chair].gameObject, new EventDelegate(() => { Players[chair].ShowMoveGold(win); Players[chair].RefreshCoin(); StartCoroutine(DelayReset()); })); } if (obj.ContainsKey("Cards")) { int[] cards = obj.GetIntArray("Cards"); Players[chair].SetPlayerCards(cards); } } EventObj.SendEvent("TableViewEvent", "Result", null); }
/// <summary> /// 初始化4:下注中状态 /// </summary> private void InitAnteing(ISFSObject requestData) { var users = requestData.GetSFSArray(RequestKey.KeyUserList); var me = requestData.GetSFSObject(RequestKey.KeyUser); var bankerSeat = requestData.GetInt(InteractParameter.Bkp); _userSfsArray = users; _serverSearInts.Clear(); _giveCardsTarget.Clear(); if (App.GameKey == "nn41") { _giveCardsIndex = 0; SetUserCard(me); GiveCardsA(); } var count = _userSfsArray.Count; for (var i = 0; i < count; i++) { var userSfsObject = _userSfsArray.GetSFSObject(i); if (App.GameKey == "nn41") { SetUserCard(userSfsObject); GiveCardsA(); } } IsNeedReday(false); ReSetBanker(bankerSeat); //设置庄家位置 }
public void GroupRefreshNum(ISFSObject responseData) { if (!responseData.ContainsKey("coin")) { return; } ISFSArray sfsArray = responseData.GetSFSArray("coin"); var gdata = App.GetGameData <BjlGameData>(); int selfSeat = gdata.GetPlayerInfo().Seat; foreach (ISFSObject item in sfsArray) { int seat = item.GetInt("seat"); if (seat == selfSeat) { continue; } int gold = item.GetInt("gold"); int p = item.GetInt("p"); ZBet[p] += gold; SetNumLabel(ZLabels[p], ZBet[p]); gdata.ZNumber[p] += gold; } }
private void AddHistoryResult(ISFSArray Datas) { foreach (ISFSObject data in Datas) { ResultListCtrl.AddResult(data.GetIntArray("win")); } }
public List <CpgSaveData> Read(int chair) { if (_saveList[chair].Count != 0) { return(_saveList[chair]); } string key = SaveDataKey + chair; string valueJson = PlayerPrefs.GetString(key, ""); if (valueJson == "") { YxDebug.Log("当前本地 无吃碰杠保存数据"); return(null); } ISFSArray array = SFSArray.NewFromJsonData(valueJson); for (int i = 0; i < array.Size(); i++) { ISFSObject arrayObj = array.GetSFSObject(i); CpgSaveData data = new CpgSaveData(); data.type = (EnGroupType)arrayObj.GetInt(CpgType); data.value = arrayObj.GetIntArray(CpgValue); data.index = arrayObj.GetInt(CpgIndex); _saveList[chair].Add(data); } return(_saveList[chair]); }
public override ISFSArray ToSFSArray() { ISFSArray iSFSArray = base.ToSFSArray(); iSFSArray.AddBool(isPrivate); return(iSFSArray); }
} //end OnViewNotificationsButtonclicked public void ViewMyNotifications(ISFSObject objIn) { //this function will get notifications from server and display it to the member ISFSArray AuctionReq = objIn.GetSFSArray("AuctionRequests"); //get auction requests //get membership in auction requests ISFSArray MembershipReq = objIn.GetSFSArray("membershipRequests"); ISFSArray CreditCard = objIn.GetSFSArray("CreditCard");//get cridit cards Debug.Log(AuctionReq.Size()); Debug.Log(MembershipReq.Size()); //to store auction requests Transverser.AuctionReq = AuctionReq; Transverser.MembershipReq = MembershipReq; //to store membership requests Transverser.CreditCard = CreditCard; //to store cridit cards Debug.Log(CreditCard.Size()); Debug.Log("Display Notifications"); //display form that will show the notifications NotificationForm.gameObject.SetActive(true); //class that will deal with notification form contents ScrollableAdminNotificationsPanel m = new ScrollableAdminNotificationsPanel(); if (display > 0) //to allaw request notification from server each time { m.Start(); } display++; } //end ViewMyNotifications
public void GroupRefreshNum(ISFSObject responseData) { if (!responseData.ContainsKey("coin")) { return; } var gdata = App.GetGameData <BrnnGameData>(); ISFSArray sfsArray = responseData.GetSFSArray("coin"); int total = 0; var selfSeat = gdata.GetPlayerInfo().Seat; foreach (ISFSObject item in sfsArray) { if (selfSeat == item.GetInt("seat")) { continue; } total += item.GetInt("gold"); } NumVal = NumVal - total; //(Int32.Parse(Num.text) - gold); Num.text = YxUtiles.ReduceNumber(NumVal); gdata.CurrentCanInGold = NumVal; }
/// <summary> /// 设置总结算数据 /// </summary> public void SetData(ISFSObject data) { ISFSArray userArray = data.GetSFSArray("users"); DDzUtil.ClearPlayerGrid(GridGob); int bigWinnerSeat = -1; int bigScore = -1; for (int i = 0; i < userArray.Count; i++) { var gob = GridGob.AddChild(ItemsOrgGob); gob.SetActive(true); var userInfo = userArray.GetSFSObject(i); var resultItem = gob.GetComponent <ResultItem>(); resultItem.SetUserInfo(userInfo); int tempScore = userInfo.GetInt("gold"); if (tempScore > bigScore) { bigScore = tempScore; bigWinnerSeat = userInfo.GetInt("seat"); } } GridGob.GetComponent <UIGrid>().repositionNow = true; if (_bigWinnerImg != null) { var gdata = App.GetGameData <DdzGameData>(); var bigWinnerInfo = gdata.GetOnePlayerInfo(bigWinnerSeat, true); YxFramwork.Common.DataBundles.PortraitDb.SetPortrait(bigWinnerInfo.AvatarX, _bigWinnerImg, bigWinnerInfo.SexI); } InfoAbout(data); }
public void GroupRefreshNum(ISFSObject responseData) { if (!responseData.ContainsKey(Parameter.Coin)) { return; } ISFSArray sfsArray = responseData.GetSFSArray(Parameter.Coin); var gdata = App.GetGameData <BrttzGameData>(); int selfSeat = gdata.GetPlayerInfo().Seat; foreach (ISFSObject item in sfsArray) { int seat = item.GetInt(Parameter.Seat); if (seat == selfSeat) { continue; } int gold = item.GetInt(Parameter.Gold); string p = item.GetUtfString(Parameter.P); int target = App.GetGameManager <BrttzGameManager>().BetCtrl.GetInt(p); ZBet[target] += gold; if (ZBet[target] > 0) { ZLabels[target].text = YxUtiles.ReduceNumber(ZBet[target]); ZLabels[target].transform.parent.gameObject.SetActive(true); } gdata.ZNumber[target] += gold; } }
public void UpOrDown(ISFSArray data) { bool haveSelf = false; for (int i = 0; i < data.Count; i++) { if (data.GetSFSObject(i).GetInt("seat") == App.GameData.SelfSeat) { haveSelf = true; } } if (haveSelf) { DownBankerBtn.SetActive(true); UpBankerBtn.SetActive(false); } else { //DownBankerBtn.GetComponent<UIButton>().isEnabled = true; DownBankerBtn.SetActive(false); UpBankerBtn.SetActive(true); App.GetGameData <GlobalData>().BankerApplying = false; ChangeTheBt(); } }
/// <summary> /// 处理和显示总结算信息 /// </summary> /// <param name="dataArray"></param> public void InitAccount(ISFSArray dataArray) { //用于记录有多少个玩家,同时作为数组索引使用 int count = 0; int maxPoint = 0; //本局最高分点数 //对小结窗口玩家信息进行初始化 foreach (ISFSObject data in dataArray) { if (data.ContainsKey("seat")) { AccItem acc = _accItems[count++].GetComponent <AccItem>(); acc.InitAccItem(data); int point = data.GetInt("gold"); //当前玩家的得分数 if (point > maxPoint) { maxPoint = point; } } } //显示大赢家标记 for (int i = 0; i < _accItems.Length; i++) { _accItems[i].SetBigWinnerMark(_accItems[i].PlayerScore >= maxPoint); _accItems[i].gameObject.SetActive(i < count); //有数据的显示,没有数据的隐藏 } _accountGrid.Reposition(); }
/// <summary> /// 初始化用户信息 /// </summary> /// <param name="gameInfo"></param> public void InitUser(ISFSObject gameInfo) { var gdata = App.GameData; //初始化自己的信息 ISFSObject selfIsfs = gameInfo.GetSFSObject(RequestKey.KeyUser); var selfPanel = gdata.GetPlayer <DuifenPlayerPanel>(); RefreshSomeone(selfPanel, selfIsfs); SpeakMgr.RejionRefreshBtns(selfIsfs.GetInt("btnstatus"), gameInfo.ContainsKey("current") && gameInfo.GetInt("current") == gdata.SelfSeat); //初始化每个玩家的信息 ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList); foreach (ISFSObject user in users) { int seat = user.GetInt(RequestKey.KeySeat); var panel = gdata.GetPlayer <DuifenPlayerPanel>(seat, true); RefreshSomeone(panel, user); } ResultData = new Dictionary <int, List <ISFSObject> >(); }
/// <summary> /// 初始化2:发牌中状态 /// </summary> private void InitDealing(ISFSObject requestData) { var users = requestData.GetSFSArray(RequestKey.KeyUserList); var me = requestData.GetSFSObject(RequestKey.KeyUser); _userSfsArray = users; _serverSearInts.Clear(); _giveCardsTarget.Clear(); _giveCardsIndex = 0; SetUserCard(me); GiveCardsA(); var count = _userSfsArray.Count; for (var i = 0; i < count; i++) { var userSfsObject = _userSfsArray.GetSFSObject(i); SetUserCard(userSfsObject); GiveCardsA(); } IsNeedReday(false); }
public void OnDeleteButtonClicked() { //on delete a friend button clicked, //send the request to server //to get clicked button name (delete) string name = EventSystem.current.currentSelectedGameObject.name; Friends = Transverser.Friends; //get friends Room_ID = Transverser.RoomID; //get requested room id int SpaceIndex = name.IndexOf(" "); //get space index string DeleteButtonName = name.Substring(0, SpaceIndex); //get the decision string DBIndex = name.Substring(SpaceIndex + 1); //get the request index in DB int index = int.Parse(DBIndex); //parse it to integer decision = DeleteButtonName; //get username of the requster username = Friends.GetSFSObject(index).GetUtfString("username"); Debug.Log("username: "******" decision: " + decision + " room " + Room_ID); ISFSObject objOut = new SFSObject(); objOut.PutUtfString("Room_ID", Room_ID); objOut.PutUtfString("username", username); objOut.PutUtfString("decision", decision); Debug.Log("username: "******" decision: " + decision + " room " + Room_ID); //send the delete friend decision to server NetworkManager.Instance.Decision(objOut, "DeleteFriend"); }
/// <summary> /// 初始化玩家的手牌信息 /// </summary> /// <param name="info"></param> /// <returns></returns> UserMatchInfo GetMatchInfo(ISFSObject info) { UserMatchInfo userMatchInfo = ParseMatchInfo(info); ISFSArray cardInfos = info.GetSFSArray("duninfo") ?? info.GetSFSObject("duns").GetSFSArray("duninfo"); AddDunInfo(ref userMatchInfo, cardInfos); //检测 YxDebug.LogArray(userMatchInfo.Cards); if (userMatchInfo.Cards.Count != 13) { Debug.LogError("手牌不是十三张!!"); string errorMsg = string.Empty; foreach (var card in userMatchInfo.Cards) { errorMsg += card + " , "; } Debug.LogError(errorMsg); } ISFSObject userScore = info.GetSFSObject("userscore"); AddScoreInfo(ref userMatchInfo, userScore); if (info.ContainsKey("daqiang")) { userMatchInfo.Shoot = GetShootInfo(info); } return(userMatchInfo); }
/// <summary> /// 显示游戏动画 /// </summary> public void ShowWinAnim(ISFSArray userinfoArray) { var gdata = App.GetGameData <FillpitGameData>(); if (gdata.IsLanDi) { return; //烂底没赢家 } foreach (ISFSObject userInfo in userinfoArray) { if (userInfo.GetInt("win") > 0) { int seat = userInfo.GetInt("seat"); var winPanel = GetPlayerPanel(seat, true); winPanel.PlayerWin(); //飞筹码 BetMgr.MoveAllChipToSomewhere(winPanel.HeadPortrait.transform); //双王通杀和四通通杀只能选择一个 if (gdata.Sfak && userInfo.ContainsKey("sameFour") && userInfo.GetBool("sameFour")) { AnimationMgr.ShowSfak(); } else if (gdata.Dkak && userInfo.ContainsKey("doubleKing") && userInfo.GetBool("doubleKing")) { AnimationMgr.ShowDkak(); } } } }
/// <summary> /// 将数据加入到战绩中 /// </summary> /// <param name="data">传入的数据</param> public void GetHistoryInfo(ISFSObject data) { if (_curHistoryItemInfo.RoundVal <= 0) { return; } ISFSArray dataArray = data.GetSFSArray("players"); foreach (ISFSObject item in dataArray) { //没有参与的玩家不用处理 if (!item.GetBool("isPlayed")) { continue; } int seat = item.GetInt("seat"); List <HistoryUserInfo> hisUsers = _curHistoryItemInfo.Users; for (int i = 0; i < hisUsers.Count; i++) { HistoryUserInfo tempUser = hisUsers[i]; if (tempUser.Seat != seat) { continue; } tempUser.IsFold = item.GetBool("isGiveUp"); tempUser.Score = item.GetInt("gold"); tempUser.Pokers = ToList(item.GetIntArray("cardArr")); if (item.ContainsKey("teax")) { tempUser.PokerType = item.GetSFSObject("teax").GetInt("type"); } else { tempUser.PokerType = 0; } hisUsers[i] = tempUser; } _curHistoryItemInfo.PublicPokers = GetPublicPokerVal(); } HistoryList.Add(_curHistoryItemInfo); //调整存储的个数 if (MaxCount == 0) //如果是0,则不限制个数 { return; } while (HistoryList.Count > MaxCount) { HistoryList.Remove(HistoryList[0]); } }
public override void SendMingCardFirst(ISFSObject gameInfo) { if (!gameInfo.ContainsKey(Parameter.RollResult)) { return; } var data = gameInfo.GetSFSObject(Parameter.RollResult); MingCardsValue = data.GetSFSArray(Parameter.Cards); int temp = 0; int cardIndex = 2; for (int i = 0; i < FirstCardsNum; i++) { cardIndex = cardIndex >= 8 ? cardIndex % 8 : cardIndex; var go = Cards[cardIndex]; go.transform.parent = Target[temp].GetComponent <BrttzCardPostion>().TargetPositions[i % 2]; go.transform.localScale = Vector3.one * CardsBgScaleNums[1]; go.transform.localPosition = Vector3.zero; if (i % 2 != 0) { temp++; } cardIndex++; } CardsArrindex = 2; ShowMingCards(true); }
public void BeginGiveCards(ISFSObject responseData) { Init(); ISFSArray cards = responseData.GetSFSArray("cards"); var longArray = cards.GetIntArray(0); var huArray = cards.GetIntArray(1); LongGroup.SetSideGroup(longArray); HuGroup.SetSideGroup(huArray); var pointArray = responseData.GetIntArray("cardsV"); //获得龙虎结果的数组,0号位是龙数据,1号位是虎数据 //获取比牌的结果 int longPoint = pointArray[0]; int huPoint = pointArray[1]; _point = longPoint - huPoint; AddResult(_point); SetCardCtrlActive(true); if (MatchEffect != null) { MatchEffect.SetActive(true); } BeginMatch(); }
public void GroupRefreshNum(ISFSObject responseData) { if (!responseData.ContainsKey("coin")) { return; } ISFSArray sfsArray = responseData.GetSFSArray("coin"); var gdata = App.GetGameData <BrnnGameData>(); int selfSeat = gdata.GetPlayerInfo().Seat; foreach (ISFSObject item in sfsArray) { int seat = item.GetInt("seat"); if (seat == selfSeat) { continue; } int gold = item.GetInt("gold"); int p = item.GetInt("p"); ZBet[p] += gold; ZLabels[p].text = YxUtiles.ReduceNumber(ZBet[p]); ZLabels[p].gameObject.SetActive(true); gdata.ZNumber[p] += gold; } }
public void UpdatePlayerInventory(ISFSArray data) { foreach(GameObject g in GameObject.FindGameObjectsWithTag("invItem")) Destroy(g); int i = 0; refreshInventory(data); while (i < sw.Length) { GameObject currentSW = Instantiate(ItemPrefab) as GameObject; currentSW.transform.name = sw[i]; switch(i) { case 0: currentSW.transform.parent = GameObject.Find("Inv1").transform; break; case 1: currentSW.transform.parent = GameObject.Find("Inv2").transform; break; case 2: currentSW.transform.parent = GameObject.Find("Inv3").transform; break; case 3: currentSW.transform.parent = GameObject.Find("Inv4").transform; break; case 4: currentSW.transform.parent = GameObject.Find("Inv5").transform; break; case 5: currentSW.transform.parent = GameObject.Find("Inv6").transform; break; case 6: currentSW.transform.parent = GameObject.Find("Inv7").transform; break; case 7: currentSW.transform.parent = GameObject.Find("Inv8").transform; break; case 8: currentSW.transform.parent = GameObject.Find("Inv9").transform; break; } currentSW.transform.localPosition = new Vector3 (0,0,0); currentSW.transform.localScale = new Vector3 (0.6F, 0.6F, 1F); currentSW.GetComponent<SpriteRenderer>().sprite = gameObject.GetComponent<ResourcesManager>().getSlotImage(sw[i]); i++; } }
/// <summary> /// Установим информацию о кружочках /// </summary> /// <param name="circlesArr"></param> void SetupCircles(ISFSArray circlesArr) { for (int i = 0; i < circlesArr.Size(); i++) { ISFSObject circleObj = circlesArr.GetSFSObject(i); PlayerTeam circleTeam = (PlayerTeam)System.Enum.Parse(typeof(PlayerTeam), circleObj.GetUtfString("team")); if (circleTeam != this.team) continue; int id = circleObj.GetInt("id"); Circle circle = Circles.Instance.GetCircle(id); if (circleObj.GetBool("selected")) circle.Select(); else circle.UnSelect(); circle.team = circleTeam; circle.SetPlayer(ServerPlayers.GetPlayer(circleObj.GetUtfString("lastPressedUserName"))); circle.lastPressTime = circleObj.GetInt("lastPressTime"); circle.pressDelay = circleObj.GetInt("pressDelay"); circle.score = circleObj.GetInt("score"); } }
/// <summary> /// Send local transform to the server /// </summary> /// <param name="ntransform"> /// A <see cref="NetworkTransform"/> /// </param> public void SendTransform(ISFSArray buffer) { if(send){ Room room = smartFox.LastJoinedRoom; ISFSObject data = new SFSObject(); data.PutSFSArray("transformBuffer",buffer); ExtensionRequest request = new ExtensionRequest("sendTransform", data, room, true); // True flag = UDP smartFox.Send(request); } }
private void sendBuffer() { NetworkManager.Instance.SendTransform(buffer); buffer = new SFSArray(); }
/// <summary> /// Установим массив серверных игроков на клиенте /// </summary> /// <param name="playersArr"></param> void SetupServerPlayers(ISFSArray playersArr) { List<ServerPlayer> playersList = new List<ServerPlayer>(); for (int i = 0; i < playersArr.Size(); i++) { ISFSObject playerObj = playersArr.GetSFSObject(i); ServerPlayer serverPlayer = new ServerPlayer(); serverPlayer.userName = playerObj.GetUtfString("userName"); serverPlayer.userNick = playerObj.GetUtfString("userNick"); serverPlayer.score = playerObj.GetInt("score"); serverPlayer.team = (PlayerTeam)System.Enum.Parse(typeof(PlayerTeam), playerObj.GetUtfString("team")); playersList.Add(serverPlayer); if (serverPlayer.userName.Equals(IOL.Instance.Connection.Server.MySelf.Name)) team = serverPlayer.team; } serverPlayers.data = playersList; }
void Start() { instance=this; buffer = new SFSArray(); thisTransform = this.transform; lastState = NetworkTransform.FromTransform(thisTransform); }