private void SetVersusAudienceParam(string text) { MyPhoton instance = PunMonoSingleton <MyPhoton> .Instance; if (!instance.IsMultiVersus) { return; } if (instance.IsOldestPlayer()) { int startIndex = text.IndexOf("\"btlinfo\""); if (startIndex != -1) { StringBuilder stringBuilder = new StringBuilder(); string str = text.Substring(startIndex); string roomParam = instance.GetRoomParam("started"); if (!string.IsNullOrEmpty(roomParam)) { stringBuilder.Append(roomParam); --stringBuilder.Length; stringBuilder.Append(","); stringBuilder.Append(str); --stringBuilder.Length; instance.SetRoomParam("started", stringBuilder.ToString()); } } } instance.BattleStartRoom(); }
public override void OnActivate(int pinID) { MyPhoton pt = PunMonoSingleton <MyPhoton> .Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)pt, (UnityEngine.Object)null)) { string roomParam = pt.GetRoomParam("started"); if (roomParam != null) { JSON_MyPhotonPlayerParam[] players = JSONParser.parseJSONObject <FlowNode_StartMultiPlay.PlayerList>(roomParam).players; if (players.Length > 0) { JSON_MyPhotonPlayerParam photonPlayerParam = this.Type != FlowNode_BindMultiUnit.TargetType.Player ? Array.Find <JSON_MyPhotonPlayerParam>(players, (Predicate <JSON_MyPhotonPlayerParam>)(p => p.playerID != pt.GetMyPlayer().playerID)) : Array.Find <JSON_MyPhotonPlayerParam>(players, (Predicate <JSON_MyPhotonPlayerParam>)(p => p.playerID == pt.GetMyPlayer().playerID)); if (photonPlayerParam != null) { PartyData partyOfType = MonoSingleton <GameManager> .Instance.Player.FindPartyOfType(PlayerPartyTypes.RankMatch); for (int index = 0; index < this.Targets.Length && index < photonPlayerParam.units.Length && (GlobalVars.SelectedMultiPlayRoomType != JSON_MyPhotonRoomParam.EType.RANKMATCH || partyOfType == null || index < partyOfType.VSWAITMEMBER_START); ++index) { photonPlayerParam.units[index].unit = new UnitData(); photonPlayerParam.units[index].unit.Deserialize(photonPlayerParam.units[index].unitJson); DataSource.Bind <UnitData>(this.Targets[index], photonPlayerParam.units[index].unit); GameParameter.UpdateAll(this.Targets[index]); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Image, (UnityEngine.Object)null) && index == 0) { DataSource.Bind <UnitData>(this.Image, photonPlayerParam.units[index].unit); GameParameter.UpdateAll(this.Image); } } } } } } this.ActivateOutputLinks(2); }
private UnitData GetUnitData() { MyPhoton pt = PunMonoSingleton <MyPhoton> .Instance; if (UnityEngine.Object.op_Inequality((UnityEngine.Object)pt, (UnityEngine.Object)null)) { string roomParam = pt.GetRoomParam("started"); if (roomParam != null) { JSON_MyPhotonPlayerParam[] players = JSONParser.parseJSONObject <FlowNode_StartMultiPlay.PlayerList>(roomParam).players; if (players.Length > 0) { JSON_MyPhotonPlayerParam photonPlayerParam = Array.Find <JSON_MyPhotonPlayerParam>(players, (Predicate <JSON_MyPhotonPlayerParam>)(p => p.playerID == pt.GetMyPlayer().playerID)); if (photonPlayerParam != null) { UnitData unitData = new UnitData(); unitData.Deserialize(photonPlayerParam.units[0].unitJson); return(unitData); } } } } return((UnitData)null); }
public override void Update(FlowNode_StartMultiPlay self) { DebugUtility.Log("StartMultiPlay State_ResumeStart Update"); MyPhoton instance = PunMonoSingleton <MyPhoton> .Instance; if (instance.CurrentState != MyPhoton.MyState.ROOM) { self.Failure(); } else { MyPhoton.MyRoom currentRoom = instance.GetCurrentRoom(); if (currentRoom == null) { self.Failure(); } else { JSON_MyPhotonPlayerParam photonPlayerParam1 = JSON_MyPhotonPlayerParam.Parse(instance.GetMyPlayer().json); if (photonPlayerParam1.state != 2) { photonPlayerParam1.state = 2; instance.SetMyPlayerParam(photonPlayerParam1.Serialize()); } JSON_MyPhotonRoomParam myPhotonRoomParam = !string.IsNullOrEmpty(currentRoom.json) ? JSON_MyPhotonRoomParam.Parse(currentRoom.json) : (JSON_MyPhotonRoomParam)null; if (myPhotonRoomParam == null) { self.Failure(); } else { GlobalVars.SelectedQuestID = myPhotonRoomParam.iname; GlobalVars.SelectedFriendID = (string)null; GlobalVars.SelectedFriend = (FriendData)null; GlobalVars.SelectedSupport.Set((SupportData)null); self.Success(); DebugUtility.Log("StartMultiPlay: " + myPhotonRoomParam.Serialize()); List <MyPhoton.MyPlayer> roomPlayerList = instance.GetRoomPlayerList(); List <JSON_MyPhotonPlayerParam> photonPlayerParamList = new List <JSON_MyPhotonPlayerParam>(); for (int index = 0; index < roomPlayerList.Count; ++index) { JSON_MyPhotonPlayerParam photonPlayerParam2 = JSON_MyPhotonPlayerParam.Parse(roomPlayerList[index].json); photonPlayerParam2.playerID = roomPlayerList[index].playerID; photonPlayerParamList.Add(photonPlayerParam2); } photonPlayerParamList.Sort((Comparison <JSON_MyPhotonPlayerParam>)((a, b) => a.playerIndex - b.playerIndex)); List <JSON_MyPhotonPlayerParam> myPlayersStarted = instance.GetMyPlayersStarted(); myPlayersStarted.Clear(); string roomParam = instance.GetRoomParam("started"); if (roomParam != null) { foreach (JSON_MyPhotonPlayerParam player in JSONParser.parseJSONObject <FlowNode_StartMultiPlay.PlayerList>(roomParam).players) { player.SetupUnits(); myPlayersStarted.Add(player); } } else { using (List <JSON_MyPhotonPlayerParam> .Enumerator enumerator = photonPlayerParamList.GetEnumerator()) { while (enumerator.MoveNext()) { JSON_MyPhotonPlayerParam current = enumerator.Current; current.SetupUnits(); myPlayersStarted.Add(current); } } } photonPlayerParam1.state = 3; instance.SetMyPlayerParam(photonPlayerParam1.Serialize()); instance.SetResumeMyPlayer(GlobalVars.ResumeMultiplayPlayerID); instance.MyPlayerIndex = GlobalVars.ResumeMultiplaySeatID; } } } }