Esempio n. 1
0
 public override void OnActivate(int pinID)
 {
     if (pinID != 100)
     {
         return;
     }
     if (Network.Mode == Network.EConnectMode.Online)
     {
         if (string.IsNullOrEmpty(GlobalVars.EditPlayerName))
         {
             GlobalVars.EditPlayerName = MonoSingleton <GameManager> .Instance.Player.Name;
         }
         if (string.IsNullOrEmpty(GlobalVars.EditPlayerName))
         {
             UIUtility.SystemMessage((string)null, LocalizedText.Get("sys.RENAME_PLAYER_NAME"), (UIUtility.DialogResultEvent)null, (GameObject)null, false, -1);
             this.ActivateOutputLinks(3);
             ((Behaviour)this).set_enabled(false);
         }
         else if (!MyMsgInput.isLegal(GlobalVars.EditPlayerName))
         {
             UIUtility.SystemMessage((string)null, LocalizedText.Get("sys.RENAME_PLAYER_NAME"), (UIUtility.DialogResultEvent)null, (GameObject)null, false, -1);
             this.ActivateOutputLinks(3);
             ((Behaviour)this).set_enabled(false);
         }
         else
         {
             this.ExecRequest((WebAPI) new ReqSetName(GlobalVars.EditPlayerName, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
             ((Behaviour)this).set_enabled(true);
         }
     }
     else
     {
         this.Success();
     }
 }
        public override void OnActivate(int pinID)
        {
            if (pinID != 101)
            {
                return;
            }
            MyPhoton instance = PunMonoSingleton <MyPhoton> .Instance;

            if (!instance.IsOldestPlayer())
            {
                DebugUtility.Log("I'm not room owner");
                this.ActivateOutputLinks(2);
            }
            else
            {
                MyPhoton.MyRoom currentRoom = instance.GetCurrentRoom();
                if (currentRoom == null)
                {
                    DebugUtility.Log("CurrentRoom is null");
                    this.ActivateOutputLinks(2);
                }
                else
                {
                    JSON_MyPhotonRoomParam myPhotonRoomParam = JSON_MyPhotonRoomParam.Parse(currentRoom.json);
                    if (myPhotonRoomParam == null)
                    {
                        DebugUtility.Log("no roomParam");
                        this.ActivateOutputLinks(2);
                    }
                    else
                    {
                        GlobalVars.SelectedMultiPlayRoomComment = GlobalVars.EditMultiPlayRoomComment;
                        myPhotonRoomParam.passCode = GlobalVars.EditMultiPlayRoomPassCode;
                        myPhotonRoomParam.comment  = GlobalVars.EditMultiPlayRoomComment;
                        if (!MyMsgInput.isLegal(myPhotonRoomParam.comment))
                        {
                            DebugUtility.Log("comment is not legal");
                            this.ActivateOutputLinks(2);
                        }
                        else
                        {
                            DebugUtility.Log("comment:" + myPhotonRoomParam.comment);
                            instance.SetRoomParam(myPhotonRoomParam.Serialize());
                            PlayerPrefsUtility.SetString(PlayerPrefsUtility.ROOM_COMMENT_KEY, myPhotonRoomParam.comment, false);
                            this.ActivateOutputLinks(1);
                        }
                    }
                }
            }
        }
        public override void OnActivate(int pinID)
        {
            switch (pinID)
            {
            case 0:
            case 4:
                string empty1 = string.Empty;
                string str1   = !PlayerPrefs.HasKey(PlayerData.ROOM_COMMENT_KEY) ? LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT") : PlayerPrefs.GetString(PlayerData.ROOM_COMMENT_KEY);
                if (string.IsNullOrEmpty(str1))
                {
                    str1 = LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT");
                }
                if (!MyMsgInput.isLegal(str1))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                GlobalVars.ResumeMultiplayPlayerID      = 0;
                GlobalVars.ResumeMultiplaySeatID        = 0;
                GlobalVars.SelectedMultiPlayRoomComment = str1;
                DebugUtility.Log("MakeRoom Comment:" + GlobalVars.SelectedMultiPlayRoomComment);
                bool flag = false;
                if (pinID == 4)
                {
                    GlobalVars.SelectedQuestID           = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.iname;
                    GlobalVars.SelectedMultiPlayRoomType = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.type;
                    GlobalVars.EditMultiPlayRoomPassCode = "0";
                    flag = true;
                    DebugUtility.Log("MakeRoom for LINE Quest:" + GlobalVars.SelectedQuestID + " Type:" + (object)GlobalVars.SelectedMultiPlayRoomType + " PassCodeHash:" + GlobalVars.SelectedMultiPlayRoomPassCodeHash);
                }
                bool isPrivate = flag;
                FlowNode_MultiPlayAPI.RoomMakeTime = Time.get_realtimeSinceStartup();
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    GlobalVars.SelectedMultiPlayRoomID      = (int)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds;
                    GlobalVars.SelectedMultiPlayPhotonAppID = string.Empty;
                    GlobalVars.SelectedMultiPlayRoomName    = Guid.NewGuid().ToString();
                    DebugUtility.Log("MakeRoom RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID + " AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                    this.Success();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.MAKE;
                this.ExecRequest((WebAPI) new ReqMPRoomMake(GlobalVars.SelectedQuestID, str1, GlobalVars.EditMultiPlayRoomPassCode, isPrivate, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 2:
            case 5:
                string fuid = pinID != 2 ? FlowNode_OnUrlSchemeLaunch.LINEParam_decided.creatorFUID : (string)null;
                DebugUtility.Log("ListRoom FUID:" + fuid);
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.StartCoroutine(this.GetPhotonRoomList(fuid));
                    break;
                }
                if (pinID == 2)
                {
                    GlobalVars.SelectedMultiPlayArea = (string)null;
                }
                FlowNode_MultiPlayAPI.RoomList = (ReqMPRoom.Response)null;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.ROOM;
                this.ExecRequest((WebAPI) new ReqMPRoom(fuid, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 3:
            case 6:
                if (FlowNode_MultiPlayAPI.RoomList == null || FlowNode_MultiPlayAPI.RoomList.rooms == null || FlowNode_MultiPlayAPI.RoomList.rooms.Length <= 0)
                {
                    this.Failure();
                    break;
                }
                bool LockRoom = false;
                if (pinID == 6)
                {
                    if (FlowNode_MultiPlayAPI.RoomList.rooms.Length != 1 || FlowNode_MultiPlayAPI.RoomList.rooms[0] == null)
                    {
                        this.Failure();
                        break;
                    }
                    GlobalVars.SelectedMultiPlayRoomID = FlowNode_MultiPlayAPI.RoomList.rooms[0].roomid;
                    DebugUtility.Log("JoinRoom for LINE RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID);
                }
                GlobalVars.ResumeMultiplayPlayerID = 0;
                GlobalVars.ResumeMultiplaySeatID   = 0;
                GlobalVars.SelectedQuestID         = (string)null;
                for (int index = 0; index < FlowNode_MultiPlayAPI.RoomList.rooms.Length; ++index)
                {
                    if (FlowNode_MultiPlayAPI.RoomList.rooms[index].quest != null && !string.IsNullOrEmpty(FlowNode_MultiPlayAPI.RoomList.rooms[index].quest.iname) && FlowNode_MultiPlayAPI.RoomList.rooms[index].roomid == GlobalVars.SelectedMultiPlayRoomID)
                    {
                        GlobalVars.SelectedQuestID = FlowNode_MultiPlayAPI.RoomList.rooms[index].quest.iname;
                        break;
                    }
                }
                if (string.IsNullOrEmpty(GlobalVars.SelectedQuestID))
                {
                    this.Failure();
                    break;
                }
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.StartCoroutine(this.GetPhotonRoomName());
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.JOIN;
                this.ExecRequest((WebAPI) new ReqMPRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), LockRoom));
                break;

            case 7:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                if (!MyMsgInput.isLegal(GlobalVars.EditMultiPlayRoomComment))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.UPDATE;
                this.ExecRequest((WebAPI) new ReqMPRoomUpdate(GlobalVars.SelectedMultiPlayRoomID, GlobalVars.EditMultiPlayRoomComment, GlobalVars.EditMultiPlayRoomPassCode, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 8:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.JOIN;
                this.ExecRequest((WebAPI) new ReqMPRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), true));
                break;

            case 9:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSION;
                this.ExecRequest((WebAPI) new ReqMPVersion(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 10:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                GlobalVars.SelectedMultiPlayRoomName = string.Empty;
                GlobalVars.VersusRoomReuse           = false;
                GlobalVars.ResumeMultiplayPlayerID   = 0;
                GlobalVars.ResumeMultiplaySeatID     = 0;
                GlobalVars.MultiPlayVersusKey        = MonoSingleton <GameManager> .Instance.GetVersusKey(GlobalVars.SelectedMultiPlayVersusType);

                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_START;
                this.ExecRequest((WebAPI) new ReqVersusStart(GlobalVars.SelectedMultiPlayVersusType, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 11:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                string empty2 = string.Empty;
                string str2   = !PlayerPrefs.HasKey(PlayerData.ROOM_COMMENT_KEY) ? LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT") : PlayerPrefs.GetString(PlayerData.ROOM_COMMENT_KEY);
                if (string.IsNullOrEmpty(str2))
                {
                    str2 = LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT");
                }
                if (!MyMsgInput.isLegal(str2))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                FlowNode_MultiPlayAPI.RoomMakeTime      = Time.get_realtimeSinceStartup();
                GlobalVars.SelectedMultiPlayRoomComment = str2;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_MAKE;
                this.ExecRequest((WebAPI) new ReqVersusMake(GlobalVars.SelectedMultiPlayVersusType, str2, GlobalVars.SelectedQuestID, false, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 12:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_JOIN;
                this.ExecRequest((WebAPI) new ReqVersusRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 13:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                if (!MyMsgInput.isLegal(GlobalVars.EditMultiPlayRoomComment))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.UPDATE;
                this.ExecRequest((WebAPI) new ReqVersusRoomUpdate(GlobalVars.SelectedMultiPlayRoomID, GlobalVars.EditMultiPlayRoomComment, GlobalVars.SelectedQuestID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 14:
                GlobalVars.SelectedMultiPlayRoomName = string.Empty;
                GlobalVars.VersusRoomReuse           = false;
                GlobalVars.ResumeMultiplayPlayerID   = 0;
                GlobalVars.ResumeMultiplaySeatID     = 0;
                GlobalVars.MultiPlayVersusKey        = MonoSingleton <GameManager> .Instance.GetVersusKey(GlobalVars.SelectedMultiPlayVersusType);

                this.Success();
                break;

            case 15:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_REQ;
                this.ExecRequest((WebAPI) new ReqVersusLine(GlobalVars.SelectedMultiPlayRoomName, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 16:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                GlobalVars.VersusRoomReuse         = false;
                FlowNode_MultiPlayAPI.RoomMakeTime = Time.get_realtimeSinceStartup();
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_MAKE;
                this.ExecRequest((WebAPI) new ReqVersusLineMake(GlobalVars.SelectedMultiPlayRoomName, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 17:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                GlobalVars.SelectedMultiPlayRoomID = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.roomid;
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_JOIN;
                this.ExecRequest((WebAPI) new ReqVersusRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 18:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_STATUS;
                this.ExecRequest((WebAPI) new ReqVersusStatus(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 19:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_SEASON;
                this.ExecRequest((WebAPI) new ReqVersusSeason(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;
            }
        }
        public override void OnActivate(int pinID)
        {
            switch (pinID)
            {
            case 0:
            case 4:
            case 22:
                this.ResetPlacementParam();
                string empty1 = string.Empty;
                string str1   = !PlayerPrefsUtility.HasKey(PlayerPrefsUtility.ROOM_COMMENT_KEY) ? LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT") : PlayerPrefsUtility.GetString(PlayerPrefsUtility.ROOM_COMMENT_KEY, string.Empty);
                if (string.IsNullOrEmpty(str1))
                {
                    str1 = LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT");
                }
                if (!MyMsgInput.isLegal(str1))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                GlobalVars.ResumeMultiplayPlayerID      = 0;
                GlobalVars.ResumeMultiplaySeatID        = 0;
                GlobalVars.SelectedMultiPlayRoomComment = str1;
                DebugUtility.Log("MakeRoom Comment:" + GlobalVars.SelectedMultiPlayRoomComment);
                bool flag = false;
                if (pinID == 4)
                {
                    GlobalVars.SelectedQuestID           = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.iname;
                    GlobalVars.SelectedMultiPlayRoomType = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.type;
                    GlobalVars.EditMultiPlayRoomPassCode = "0";
                    flag = true;
                    DebugUtility.Log("MakeRoom for LINE Quest:" + GlobalVars.SelectedQuestID + " Type:" + (object)GlobalVars.SelectedMultiPlayRoomType + " PassCodeHash:" + GlobalVars.SelectedMultiPlayRoomPassCodeHash);
                }
                GlobalVars.EditMultiPlayRoomPassCode = "0";
                string s = FlowNode_Variable.Get("MultiPlayPasscode");
                if (!string.IsNullOrEmpty(s))
                {
                    int result = 0;
                    if (int.TryParse(s, out result))
                    {
                        GlobalVars.EditMultiPlayRoomPassCode = result.ToString();
                    }
                }
                bool isPrivate = flag;
                FlowNode_MultiPlayAPI.RoomMakeTime = Time.get_realtimeSinceStartup();
                bool limit  = GlobalVars.SelectedMultiPlayLimit & GlobalVars.EditMultiPlayRoomPassCode == "0";
                int  unitlv = isPrivate || !limit ? 0 : GlobalVars.MultiPlayJoinUnitLv;
                bool clear  = !isPrivate && limit && GlobalVars.MultiPlayClearOnly;
                int  selectedMultiTowerFloor1 = GlobalVars.SelectedMultiTowerFloor;
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    GlobalVars.SelectedMultiPlayRoomID      = (int)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds;
                    GlobalVars.SelectedMultiPlayPhotonAppID = string.Empty;
                    GlobalVars.SelectedMultiPlayRoomName    = Guid.NewGuid().ToString();
                    DebugUtility.Log("MakeRoom RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID + " AppID:" + GlobalVars.SelectedMultiPlayPhotonAppID + " Name:" + GlobalVars.SelectedMultiPlayRoomName);
                    this.Success();
                    break;
                }
                MultiInvitationSendWindow.ClearInvited();
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.MAKE;
                if (pinID != 22)
                {
                    this.ExecRequest((WebAPI) new ReqMPRoomMake(GlobalVars.SelectedQuestID, str1, GlobalVars.EditMultiPlayRoomPassCode, isPrivate, limit, unitlv, clear, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                    break;
                }
                this.ExecRequest((WebAPI) new ReqMultiTwRoomMake(GlobalVars.SelectedMultiTowerID, str1, GlobalVars.EditMultiPlayRoomPassCode, selectedMultiTowerFloor1, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 2:
            case 5:
            case 23:
            case 50:
                string fuid = (string)null;
                if (pinID == 5)
                {
                    fuid = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.creatorFUID;
                }
                else if (pinID == 50)
                {
                    fuid = GlobalVars.MultiInvitationRoomOwner;
                }
                DebugUtility.Log("ListRoom FUID:" + fuid);
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.StartCoroutine(this.GetPhotonRoomList(fuid));
                    break;
                }
                FlowNode_MultiPlayAPI.RoomList = (ReqMPRoom.Response)null;
                string iname = string.Empty;
                if (pinID == 2)
                {
                    iname = GlobalVars.SelectedQuestID;
                }
                int selectedMultiTowerFloor2 = GlobalVars.SelectedMultiTowerFloor;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.ROOM;
                if (pinID != 23)
                {
                    this.ExecRequest((WebAPI) new ReqMPRoom(fuid, iname, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                    break;
                }
                this.ExecRequest((WebAPI) new ReqMultiTwRoom(fuid, iname, selectedMultiTowerFloor2, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 3:
            case 6:
            case 24:
            case 51:
                if (FlowNode_MultiPlayAPI.RoomList == null || FlowNode_MultiPlayAPI.RoomList.rooms == null || FlowNode_MultiPlayAPI.RoomList.rooms.Length <= 0)
                {
                    this.Failure();
                    break;
                }
                this.ResetPlacementParam();
                bool LockRoom = false;
                switch (pinID)
                {
                case 6:
                    if (FlowNode_MultiPlayAPI.RoomList.rooms.Length != 1 || FlowNode_MultiPlayAPI.RoomList.rooms[0] == null)
                    {
                        this.Failure();
                        return;
                    }
                    GlobalVars.SelectedMultiPlayRoomID = FlowNode_MultiPlayAPI.RoomList.rooms[0].roomid;
                    DebugUtility.Log("JoinRoom for LINE RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID);
                    break;

                case 51:
                    if (FlowNode_MultiPlayAPI.RoomList.rooms.Length != 1 || FlowNode_MultiPlayAPI.RoomList.rooms[0] == null)
                    {
                        this.Failure();
                        return;
                    }
                    LockRoom = GlobalVars.MultiInvitationRoomLocked;
                    GlobalVars.SelectedMultiPlayRoomID = FlowNode_MultiPlayAPI.RoomList.rooms[0].roomid;
                    DebugUtility.Log("JoinRoom for Invitation RoomID:" + (object)GlobalVars.SelectedMultiPlayRoomID);
                    break;
                }
                GlobalVars.ResumeMultiplayPlayerID = 0;
                GlobalVars.ResumeMultiplaySeatID   = 0;
                GlobalVars.SelectedQuestID         = (string)null;
                for (int index = 0; index < FlowNode_MultiPlayAPI.RoomList.rooms.Length; ++index)
                {
                    if (FlowNode_MultiPlayAPI.RoomList.rooms[index].quest != null && !string.IsNullOrEmpty(FlowNode_MultiPlayAPI.RoomList.rooms[index].quest.iname) && FlowNode_MultiPlayAPI.RoomList.rooms[index].roomid == GlobalVars.SelectedMultiPlayRoomID)
                    {
                        GlobalVars.SelectedQuestID = FlowNode_MultiPlayAPI.RoomList.rooms[index].quest.iname;
                        break;
                    }
                }
                if (string.IsNullOrEmpty(GlobalVars.SelectedQuestID))
                {
                    this.Failure();
                    break;
                }
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.StartCoroutine(this.GetPhotonRoomName());
                    break;
                }
                int selectedMultiTowerFloor3 = GlobalVars.SelectedMultiTowerFloor;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.JOIN;
                if (pinID != 24)
                {
                    this.ExecRequest((WebAPI) new ReqMPRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), LockRoom));
                    break;
                }
                this.ExecRequest((WebAPI) new ReqMultiTwRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), LockRoom, selectedMultiTowerFloor3, false));
                break;

            case 7:
            case 26:
            case 55:
            case 56:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                if (!string.IsNullOrEmpty(GlobalVars.EditMultiPlayRoomComment) && !MyMsgInput.isLegal(GlobalVars.EditMultiPlayRoomComment))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                switch (pinID)
                {
                case 55:
                    GlobalVars.EditMultiPlayRoomPassCode = "0";
                    GlobalVars.EditMultiPlayRoomComment  = GlobalVars.SelectedMultiPlayRoomComment;
                    break;

                case 56:
                    GlobalVars.EditMultiPlayRoomPassCode = "1";
                    GlobalVars.EditMultiPlayRoomComment  = GlobalVars.SelectedMultiPlayRoomComment;
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.UPDATE;
                if (GlobalVars.SelectedMultiPlayRoomType != JSON_MyPhotonRoomParam.EType.TOWER)
                {
                    this.ExecRequest((WebAPI) new ReqMPRoomUpdate(GlobalVars.SelectedMultiPlayRoomID, GlobalVars.EditMultiPlayRoomComment, GlobalVars.EditMultiPlayRoomPassCode, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                    break;
                }
                string selectedMultiTowerId     = GlobalVars.SelectedMultiTowerID;
                int    selectedMultiTowerFloor4 = GlobalVars.SelectedMultiTowerFloor;
                this.ExecRequest((WebAPI) new ReqMultiTwRoomUpdate(GlobalVars.SelectedMultiPlayRoomID, GlobalVars.EditMultiPlayRoomComment, GlobalVars.EditMultiPlayRoomPassCode, selectedMultiTowerId, selectedMultiTowerFloor4, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 8:
            case 25:
            case 28:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                this.ResetPlacementParam();
                GlobalVars.ResumeMultiplayPlayerID = 0;
                GlobalVars.ResumeMultiplaySeatID   = 0;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.JOIN;
                if (pinID != 25 && pinID != 28)
                {
                    this.ExecRequest((WebAPI) new ReqMPRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), true));
                    break;
                }
                this.API = FlowNode_MultiPlayAPI.EAPI.MT_JOIN;
                this.ExecRequest((WebAPI) new ReqMultiTwRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback), true, 0, pinID == 28));
                break;

            case 9:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSION;
                this.ExecRequest((WebAPI) new ReqMPVersion(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 10:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                GlobalVars.SelectedMultiPlayRoomName = string.Empty;
                GlobalVars.VersusRoomReuse           = false;
                GlobalVars.ResumeMultiplayPlayerID   = 0;
                GlobalVars.ResumeMultiplaySeatID     = 0;
                GlobalVars.MultiPlayVersusKey        = MonoSingleton <GameManager> .Instance.GetVersusKey(GlobalVars.SelectedMultiPlayVersusType);

                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_START;
                this.ExecRequest((WebAPI) new ReqVersusStart(GlobalVars.SelectedMultiPlayVersusType, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 11:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                string empty2 = string.Empty;
                string str2   = !PlayerPrefsUtility.HasKey(PlayerPrefsUtility.ROOM_COMMENT_KEY) ? LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT") : PlayerPrefsUtility.GetString(PlayerPrefsUtility.ROOM_COMMENT_KEY, string.Empty);
                if (string.IsNullOrEmpty(str2))
                {
                    str2 = LocalizedText.Get("sys.DEFAULT_ROOM_COMMENT");
                }
                if (!MyMsgInput.isLegal(str2))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                FlowNode_MultiPlayAPI.RoomMakeTime      = Time.get_realtimeSinceStartup();
                GlobalVars.SelectedMultiPlayRoomComment = str2;
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_MAKE;
                this.ExecRequest((WebAPI) new ReqVersusMake(GlobalVars.SelectedMultiPlayVersusType, str2, GlobalVars.SelectedQuestID, false, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 12:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_JOIN;
                this.ExecRequest((WebAPI) new ReqVersusRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 13:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                if (!MyMsgInput.isLegal(GlobalVars.EditMultiPlayRoomComment))
                {
                    DebugUtility.Log("comment is not legal");
                    this.ActivateOutputLinks(4801);
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.UPDATE;
                this.ExecRequest((WebAPI) new ReqVersusRoomUpdate(GlobalVars.SelectedMultiPlayRoomID, GlobalVars.EditMultiPlayRoomComment, GlobalVars.SelectedQuestID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 14:
                GlobalVars.SelectedMultiPlayRoomName = string.Empty;
                GlobalVars.VersusRoomReuse           = false;
                GlobalVars.ResumeMultiplayPlayerID   = 0;
                GlobalVars.ResumeMultiplaySeatID     = 0;
                GlobalVars.MultiPlayVersusKey        = MonoSingleton <GameManager> .Instance.GetVersusKey(GlobalVars.SelectedMultiPlayVersusType);

                this.Success();
                break;

            case 15:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_REQ;
                this.ExecRequest((WebAPI) new ReqVersusLine(GlobalVars.SelectedMultiPlayRoomName, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 16:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Success();
                    break;
                }
                GlobalVars.VersusRoomReuse         = false;
                FlowNode_MultiPlayAPI.RoomMakeTime = Time.get_realtimeSinceStartup();
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_LINE_MAKE;
                this.ExecRequest((WebAPI) new ReqVersusLineMake(GlobalVars.SelectedMultiPlayRoomName, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 17:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                GlobalVars.SelectedMultiPlayRoomID = FlowNode_OnUrlSchemeLaunch.LINEParam_decided.roomid;
                if (GlobalVars.SelectedMultiPlayRoomID < FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MIN || GlobalVars.SelectedMultiPlayRoomID > FlowNode_MultiPlayAPI.ROOMID_VALIDATE_MAX)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_JOIN;
                this.ExecRequest((WebAPI) new ReqVersusRoomJoin(GlobalVars.SelectedMultiPlayRoomID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 18:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_STATUS;
                this.ExecRequest((WebAPI) new ReqVersusStatus(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 19:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_SEASON;
                this.ExecRequest((WebAPI) new ReqVersusSeason(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 20:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.VERSUS_FRIEND;
                this.ExecRequest((WebAPI) new ReqVersusFriendScore(new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 21:
                GameManager instance1 = MonoSingleton <GameManager> .Instance;
                MyPhoton    instance2 = PunMonoSingleton <MyPhoton> .Instance;
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance2, (UnityEngine.Object)null) && instance2.IsConnectedInRoom())
                {
                    GlobalVars.CreateAutoMultiTower = true;
                    if (instance2.IsCreatedRoom())
                    {
                        instance2.OpenRoom(true, false);
                        MyPhoton.MyRoom currentRoom = instance2.GetCurrentRoom();
                        if (currentRoom != null)
                        {
                            JSON_MyPhotonRoomParam myPhotonRoomParam = JSON_MyPhotonRoomParam.Parse(currentRoom.json);
                            if (myPhotonRoomParam != null)
                            {
                                List <MultiTowerFloorParam> mtAllFloorParam = instance1.GetMTAllFloorParam(GlobalVars.SelectedMultiTowerID);
                                if (mtAllFloorParam != null)
                                {
                                    GlobalVars.SelectedMultiTowerFloor = Mathf.Min(mtAllFloorParam.Count, GlobalVars.SelectedMultiTowerFloor + 1);
                                }
                                myPhotonRoomParam.challegedMTFloor = GlobalVars.SelectedMultiTowerFloor;
                                myPhotonRoomParam.iname            = GlobalVars.SelectedMultiTowerID + "_" + myPhotonRoomParam.challegedMTFloor.ToString();
                                instance2.SetRoomParam(myPhotonRoomParam.Serialize());
                            }
                        }
                    }
                    instance2.AddMyPlayerParam("BattleStart", (object)false);
                    instance2.AddMyPlayerParam("resume", (object)false);
                    MyPhoton.MyPlayer myPlayer = instance2.GetMyPlayer();
                    if (myPlayer != null)
                    {
                        JSON_MyPhotonPlayerParam photonPlayerParam = JSON_MyPhotonPlayerParam.Parse(myPlayer.json);
                        if (photonPlayerParam != null)
                        {
                            photonPlayerParam.mtChallengeFloor = instance1.GetMTChallengeFloor();
                            photonPlayerParam.mtClearedFloor   = instance1.GetMTClearedMaxFloor();
                            instance2.SetMyPlayerParam(photonPlayerParam.Serialize());
                        }
                    }
                    this.Success();
                    break;
                }
                this.Failure();
                break;

            case 27:
                if (Network.Mode != Network.EConnectMode.Online)
                {
                    this.Failure();
                    break;
                }
                ((Behaviour)this).set_enabled(true);
                this.API = FlowNode_MultiPlayAPI.EAPI.MT_STATUS;
                this.ExecRequest((WebAPI) new ReqMultiTwStatus(GlobalVars.SelectedMultiTowerID, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback)));
                break;

            case 29:
                MyPhoton instance3 = PunMonoSingleton <MyPhoton> .Instance;
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance3, (UnityEngine.Object)null) && instance3.IsConnectedInRoom())
                {
                    this.Success();
                    break;
                }
                this.Failure();
                break;
            }
        }