Beispiel #1
0
            public override void Begin(FlowNode_MultiPlayJoinRoom self)
            {
                MyPhoton instance = PunMonoSingleton <MyPhoton> .Instance;

                if (string.IsNullOrEmpty(GlobalVars.SelectedMultiPlayRoomName))
                {
                    self.FailureLobby();
                }
                else
                {
                    QuestParam quest = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                    if (quest == null || !quest.IsMulti || ((int)quest.playerNum < 1 || (int)quest.unitNum < 1) || ((int)quest.unitNum > 11 || quest.map == null || quest.map.Count <= 0))
                    {
                        DebugUtility.Log("illegal iname:" + GlobalVars.SelectedQuestID);
                        self.IllegalQuest();
                    }
                    else if (!instance.CheckTowerRoomIsBattle(GlobalVars.SelectedMultiPlayRoomName))
                    {
                        self.FailureLobby();
                    }
                    else
                    {
                        self.mJoinPlayerParam = JSON_MyPhotonPlayerParam.Create(0, 0);
                        if (self.mJoinPlayerParam == null)
                        {
                            self.FailureLobby();
                        }
                        else
                        {
                            DebugUtility.Log("Joining name:" + GlobalVars.SelectedMultiPlayRoomName + " pnum:" + (object)quest.playerNum + " unum:" + (object)quest.unitNum);
                            if (instance.JoinRoom(GlobalVars.SelectedMultiPlayRoomName, self.mJoinPlayerParam.Serialize(), GlobalVars.ResumeMultiplayPlayerID != 0))
                            {
                                return;
                            }
                            DebugUtility.Log("error:" + (object)instance.LastError);
                            self.FailureLobby();
                        }
                    }
                }
            }