Browse Source

修改一些细节

LiuQilin 7 years ago
parent
commit
be7d4579e4

+ 2 - 0
Assets/Resource/DragonBones/Unity/src/DragonBones/unity/UnityFactory.cs

@@ -224,6 +224,7 @@ namespace DragonBones
         /**
          * @private
          */
+        public static List<Material> Materials = new List<Material>();
         protected string BundlePath; 
         protected void _refreshTextureAtlas(UnityTextureAtlasData textureAtlasData)
         {
@@ -233,6 +234,7 @@ namespace DragonBones
                 var textureAtlas = ManaReso.Load<Texture2D>(BundlePath, Folder.Scene);
                 var shader = Shader.Find(defaultShaderName);
                 var material = new Material(shader);
+                Materials.Add(material);
                 material.mainTexture = textureAtlas;
                 
                 AtlasDictionary.Add(textureAtlas.name, textureAtlas);

+ 4 - 3
Assets/Resource/Logo.unity

@@ -445,9 +445,10 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: f1828554d8ffa12449b221fe29b2c32c, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  DebugMode: 0
-  CatchException: 1
-  DebugModeGo: {fileID: 0}
+  DebugMode: 1
+  CatchException: 0
+  DebugModeGo: {fileID: 1264531325540048, guid: b22fd2d9abc702d43ac62a412537d4e9,
+    type: 2}
 --- !u!4 &1833966245
 Transform:
   m_ObjectHideFlags: 0

+ 3 - 3
Assets/Resource/Prefab/Object/ADChest.prefab

@@ -37,6 +37,7 @@ GameObject:
   - component: {fileID: 4645995457566464}
   - component: {fileID: 212129287200087826}
   - component: {fileID: 95475934321312016}
+  - component: {fileID: 61675791393628574}
   m_Layer: 0
   m_Name: Chest
   m_TagString: Untagged
@@ -52,7 +53,6 @@ GameObject:
   serializedVersion: 5
   m_Component:
   - component: {fileID: 4117775634847816}
-  - component: {fileID: 61756525462351364}
   - component: {fileID: 50883047937147878}
   m_Layer: 0
   m_Name: ADChest
@@ -122,12 +122,12 @@ Rigidbody2D:
   m_SleepingMode: 1
   m_CollisionDetection: 0
   m_Constraints: 0
---- !u!61 &61756525462351364
+--- !u!61 &61675791393628574
 BoxCollider2D:
   m_ObjectHideFlags: 1
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
-  m_GameObject: {fileID: 1658220073256390}
+  m_GameObject: {fileID: 1358063845640910}
   m_Enabled: 1
   m_Density: 1
   m_Material: {fileID: 0}

+ 2 - 0
Assets/Resource/XML/lan/ChineseSimplified.xml

@@ -4,6 +4,7 @@
     <C_GardenLab desc=""><![CDATA[等级]]></C_GardenLab>
     <C_DressRoom desc=""><![CDATA[提升花园等级,开放试衣间]]></C_DressRoom>
     <C_VisitFail desc=""><![CDATA[无法访问花园]]></C_VisitFail>
+    <C_CannotComment desc=""><![CDATA[暂时不能向该玩家留言]]></C_CannotComment>
     <F_StoreLab desc=""><![CDATA[商店]]></F_StoreLab>
     <F_MagicLab desc=""><![CDATA[魔法]]></F_MagicLab>
     <F_ElfLab desc=""><![CDATA[精灵]]></F_ElfLab>
@@ -164,6 +165,7 @@
     <Z_RoomFull desc=""><![CDATA[派对人数已满,无法加入]]></Z_RoomFull>
     <Z_RoomExpire desc=""><![CDATA[派对已经结束,自己创建一个吧!]]></Z_RoomExpire>
     <Z_Unknown desc=""><![CDATA[派对人数已满]]></Z_Unknown>
+    <Z_SystemRoomName desc=""><![CDATA[派对不停歇]]></Z_SystemRoomName>
     <AA_BtnLab desc=""><![CDATA[创建]]></AA_BtnLab>
     <AA_AllWhiteSpace desc=""><![CDATA[派对名字不能为空]]></AA_AllWhiteSpace>
     <AA_TooLong desc=""><![CDATA[名字太长]]></AA_TooLong>

+ 2 - 0
Assets/Resource/XML/lan/ChineseTraditional.xml

@@ -4,6 +4,7 @@
     <C_GardenLab desc=""><![CDATA[等級]]></C_GardenLab>
     <C_DressRoom desc=""><![CDATA[提升花園等級,開放試衣間]]></C_DressRoom>
     <C_VisitFail desc=""><![CDATA[無法訪問花園]]></C_VisitFail>
+    <C_CannotComment desc=""><![CDATA[]]></C_CannotComment>
     <F_StoreLab desc=""><![CDATA[商店]]></F_StoreLab>
     <F_MagicLab desc=""><![CDATA[魔法]]></F_MagicLab>
     <F_ElfLab desc=""><![CDATA[精靈]]></F_ElfLab>
@@ -164,6 +165,7 @@
     <Z_RoomFull desc=""><![CDATA[派對人數已滿,無法加入]]></Z_RoomFull>
     <Z_RoomExpire desc=""><![CDATA[派對已經結束,自己創建一個吧!]]></Z_RoomExpire>
     <Z_Unknown desc=""><![CDATA[派對人數已滿]]></Z_Unknown>
+    <Z_SystemRoomName desc=""><![CDATA[]]></Z_SystemRoomName>
     <AA_BtnLab desc=""><![CDATA[創建]]></AA_BtnLab>
     <AA_AllWhiteSpace desc=""><![CDATA[派對名字不能為空]]></AA_AllWhiteSpace>
     <AA_TooLong desc=""><![CDATA[名字太長]]></AA_TooLong>

+ 2 - 0
Assets/Resource/XML/lan/English.xml

@@ -4,6 +4,7 @@
     <C_GardenLab desc=""><![CDATA[Level ]]></C_GardenLab>
     <C_DressRoom desc=""><![CDATA[Upgrade garden to enter dressroom]]></C_DressRoom>
     <C_VisitFail desc=""><![CDATA[Visit failed]]></C_VisitFail>
+    <C_CannotComment desc=""><![CDATA[]]></C_CannotComment>
     <F_StoreLab desc=""><![CDATA[Shop]]></F_StoreLab>
     <F_MagicLab desc=""><![CDATA[Mag]]></F_MagicLab>
     <F_ElfLab desc=""><![CDATA[Elf]]></F_ElfLab>
@@ -164,6 +165,7 @@ Program 水怪
     <Z_RoomFull desc=""><![CDATA[Party room is full]]></Z_RoomFull>
     <Z_RoomExpire desc=""><![CDATA[Party is over, create one by your self!]]></Z_RoomExpire>
     <Z_Unknown desc=""><![CDATA[Party room is full]]></Z_Unknown>
+    <Z_SystemRoomName desc=""><![CDATA[]]></Z_SystemRoomName>
     <AA_BtnLab desc=""><![CDATA[Create]]></AA_BtnLab>
     <AA_AllWhiteSpace desc=""><![CDATA[Party name can not be null]]></AA_AllWhiteSpace>
     <AA_TooLong desc=""><![CDATA[Party name too long]]></AA_TooLong>

BIN
Assets/Resource/Xlsx/language_config.xlsx


+ 16 - 6
Assets/Script/Manage/ManaServer.cs

@@ -124,9 +124,9 @@ public class ManaServer : Regist
     {
         //URLRequestData urlData = new URLRequestData();
 
-        //urlData.Add("u", "1709207727231988804");
+        //urlData.Add("u", "1706202053433942394");
 
-        //URLRequest.CreateStrURLRequest(NewBaseURL + "/user/load", urlData, Debug.Log, URLRequest.Method.POST);
+        //URLRequest.CreateStrURLRequest(true, NewBaseURL + "/user/load", urlData, Debug.Log, URLRequest.Method.POST);
 
 
         //AddComment("1709207727231988804", "1709207727231988804", "你好4", CommentType.Garden);
@@ -544,16 +544,26 @@ public class ManaServer : Regist
 
     public static void AddComment(string sendID, string receiveID, string content, CommentType type)
     {
+        if (string.IsNullOrEmpty(sendID) || string.IsNullOrEmpty(receiveID))
+        {
+            return;
+        }
+
+        if (sendID.ToLower() == "default" || receiveID.ToLower() == "default")
+        {
+            return;
+        }
+
         URLRequestData urlData = new URLRequestData();
 
         urlData.Add("c", sendID);
         urlData.Add("u", receiveID);
         urlData.Add("i", content);
         urlData.Add("t", type.GetHashCode());
-        Debug.LogWarning(sendID);
-        Debug.LogWarning(receiveID);
-        Debug.LogWarning(content);
-        Debug.LogWarning(type.GetHashCode());
+        //Debug.LogWarning(sendID);
+        //Debug.LogWarning(receiveID);
+        //Debug.LogWarning(content);
+        //Debug.LogWarning(type.GetHashCode());
         URLRequest.CreateStrURLRequest
         (
             true,

+ 50 - 30
Assets/Script/Manage/ManaSocial.cs

@@ -11,7 +11,7 @@ using LitJson;
 
 using Debug = UnityEngine.Debug;
 
-public class ManaSocial : Regist 
+public class ManaSocial : Regist
 {
     #region Variable
 
@@ -27,8 +27,8 @@ public class ManaSocial : Regist
     public static bool UpdateLock;
     public static bool IsPanelOpen;
 
-    public static int PlayerLastIndex=-1;
-    public static int VisiteeLastIndex=-1;
+    public static int PlayerLastIndex = -1;
+    public static int VisiteeLastIndex = -1;
     public static int PlayerFirstIndex;
     public static int VisiteeFirstIndex;
     public static int PlayerCommentPage;
@@ -46,8 +46,8 @@ public class ManaSocial : Regist
     public static float PraiseTimer = 5;
     public static float CommentTimespan = 60;
     public static float CommentTimer = 0;
-    public static List<List<string>> PlayerCommentDatas = new List<List<string>>();
-    public static List<List<string>> VisiteeCommentDatas = new List<List<string>>();
+    public static List<CommentData> PlayerCommentDatas = new List<CommentData>();
+    public static List<CommentData> VisiteeCommentDatas = new List<CommentData>();
 
     #endregion
 
@@ -163,8 +163,7 @@ public class ManaSocial : Regist
 
             foreach (JsonData commentData in jsonData["l"])
             {
-                //Debug.Log(commentData["n"].ToString());
-                PlayerCommentDatas.Add(new List<string>() { commentData["s"].ToString(), commentData["c"].ToString(), commentData["n"].ToString() });
+                PlayerCommentDatas.UniqueAdd(new CommentData(commentData));
             }
         }
         else
@@ -173,7 +172,7 @@ public class ManaSocial : Regist
 
             foreach (JsonData commentData in jsonData["l"])
             {
-                VisiteeCommentDatas.Add(new List<string>() { commentData["s"].ToString(), commentData["c"].ToString(), commentData["n"].ToString() });
+                VisiteeCommentDatas.UniqueAdd(new CommentData(commentData));
             }
         }
     }
@@ -198,7 +197,8 @@ public class ManaSocial : Regist
 
                 PlayerLastIndex++;
 
-                ManaReso.GetCommentItem(PlayerCommentDatas[PlayerLastIndex][2], PlayerCommentDatas[PlayerLastIndex][0], PlayerCommentDatas[PlayerLastIndex][1]);
+                CommentData commentData = PlayerCommentDatas[PlayerLastIndex];
+                ManaReso.GetCommentItem(commentData.NickName, commentData.SerialNumber, commentData.Content);
             }
 
             int offset = isDownload ? 1 : 0;
@@ -206,8 +206,8 @@ public class ManaSocial : Regist
 
             if (saveAmt > 0)
             {
-                ScrollRectPlus.content.position += new Vector3(0, -(saveAmt - offset) * 120 * scaleFactor, 0);
-                ScrollRectPlus.AddContentOffset(new Vector3(0, -(saveAmt - offset) * 120 * scaleFactor, 0));
+                ScrollRectPlus.content.position += new Vector3(0, -(saveAmt - offset)*120*scaleFactor, 0);
+                ScrollRectPlus.AddContentOffset(new Vector3(0, -(saveAmt - offset)*120*scaleFactor, 0));
             }
         }
         else
@@ -226,7 +226,8 @@ public class ManaSocial : Regist
 
                 VisiteeLastIndex++;
 
-                ManaReso.GetCommentItem(VisiteeCommentDatas[VisiteeLastIndex][2], VisiteeCommentDatas[VisiteeLastIndex][0], VisiteeCommentDatas[VisiteeLastIndex][1]);
+                CommentData commentData = VisiteeCommentDatas[VisiteeLastIndex];
+                ManaReso.GetCommentItem(commentData.NickName, commentData.SerialNumber, commentData.Content);
             }
 
             int offset = isDownload ? 1 : 0;
@@ -234,8 +235,8 @@ public class ManaSocial : Regist
 
             if (saveAmt > 0)
             {
-                ScrollRectPlus.content.position += new Vector3(0, -(saveAmt - offset) * 120 * scaleFactor, 0);
-                ScrollRectPlus.AddContentOffset(new Vector3(0, -(saveAmt - offset) * 120 * scaleFactor, 0));
+                ScrollRectPlus.content.position += new Vector3(0, -(saveAmt - offset)*120*scaleFactor, 0);
+                ScrollRectPlus.AddContentOffset(new Vector3(0, -(saveAmt - offset)*120*scaleFactor, 0));
             }
         }
     }
@@ -257,8 +258,10 @@ public class ManaSocial : Regist
 
                 for (int i = 0; i < revertAmt; i++)
                 {
-                    ManaReso.Save(ScrollRectPlus.content.GetChild(ScrollRectPlus.content.childCount-1));
-                    CommentItem commentItem = ManaReso.GetCommentItem(PlayerCommentDatas[PlayerFirstIndex - 1][2], PlayerCommentDatas[PlayerFirstIndex - 1][0], PlayerCommentDatas[PlayerFirstIndex - 1][1]);
+                    ManaReso.Save(ScrollRectPlus.content.GetChild(ScrollRectPlus.content.childCount - 1));
+                    CommentData commentData = VisiteeCommentDatas[VisiteeLastIndex];
+
+                    CommentItem commentItem = ManaReso.GetCommentItem(commentData.NickName, commentData.SerialNumber, commentData.Content);
                     commentItem.transform.SetAsFirstSibling();
 
                     PlayerLastIndex--;
@@ -281,7 +284,9 @@ public class ManaSocial : Regist
                 for (int i = 0; i < revertAmt; i++)
                 {
                     ManaReso.Save(ScrollRectPlus.content.GetChild(ScrollRectPlus.content.childCount - 1));
-                    CommentItem commentItem = ManaReso.GetCommentItem(VisiteeCommentDatas[VisiteeFirstIndex - 1][2], VisiteeCommentDatas[VisiteeFirstIndex - 1][0], VisiteeCommentDatas[VisiteeFirstIndex - 1][1]);
+                    CommentData commentData = VisiteeCommentDatas[VisiteeLastIndex];
+
+                    CommentItem commentItem = ManaReso.GetCommentItem(commentData.NickName, commentData.SerialNumber, commentData.Content);
                     commentItem.transform.SetAsFirstSibling();
 
                     VisiteeLastIndex--;
@@ -290,8 +295,8 @@ public class ManaSocial : Regist
 
                 if (revertAmt > 0)
                 {
-                    ScrollRectPlus.content.position += new Vector3(0, revertAmt * 120, 0);
-                    ScrollRectPlus.AddContentOffset(new Vector3(0, revertAmt * 120, 0));
+                    ScrollRectPlus.content.position += new Vector3(0, revertAmt*120, 0);
+                    ScrollRectPlus.AddContentOffset(new Vector3(0, revertAmt*120, 0));
                 }
             }
         }
@@ -376,8 +381,8 @@ public class ManaSocial : Regist
             PlayerFirstIndex = 0;
             PlayerLastIndex = -1;
             PlayerCommentPage = 0;
-            PlayerCommentDatas = new List<List<string>>();
-      
+            PlayerCommentDatas = new List<CommentData>();
+
             ManaServer.GetComment
             (
                 ManaServer.SerialNumber,
@@ -406,7 +411,7 @@ public class ManaSocial : Regist
             VisiteeFirstIndex = 0;
             VisiteeLastIndex = -1;
             VisiteeCommentPage = 0;
-            VisiteeCommentDatas = new List<List<string>>();
+            VisiteeCommentDatas = new List<CommentData>();
 
             ManaServer.GetComment
             (
@@ -531,8 +536,8 @@ public class ManaSocial : Regist
         {
             CommentTime = DateTime.Now;
 
-            string content = StringFilter.GetFilteredString(InputField.text); 
-            
+            string content = StringFilter.GetFilteredString(InputField.text);
+
             ManaServer.AddComment(ManaServer.SerialNumber, ManaVisit.VisiteeSerialNumber, content, CommentType.Garden);
         }
         else
@@ -543,14 +548,29 @@ public class ManaSocial : Regist
 
     public static void OpenCommentPanel()
     {
-        ManaReso.Get("Q_CommentBK").TweenForCG();
+        IsPlayer = !ManaVisit.InVisit;
 
-        ManaReso.SetActive("Q_InputBK", ManaVisit.InVisit);
+        if (IsPlayer)
+        {
+            UpdatePage(IsPlayer);
+        }
+        else
+        {
+            if (string.IsNullOrEmpty(ManaVisit.VisiteeSerialNumber))
+            {
+                Bubble.Show(null, Language.GetStr("UI", "C_CannotComment"));
+                return;
+            }
+            else
+            {
+                UpdatePage(IsPlayer);
+            }
+        }
 
-        IsPlayer = !ManaVisit.InVisit;
         IsPanelOpen = true;
+        ManaReso.Get("Q_CommentBK").TweenForCG();
 
-        UpdatePage(IsPlayer);
+        ManaReso.SetActive("Q_InputBK", ManaVisit.InVisit);
     }
 
     public static void CloseCommentPanel()
@@ -597,8 +617,8 @@ public class ManaSocial : Regist
                 }
 
                 PlayerLastIndex++;
-
-                ManaReso.GetCommentItem(PlayerCommentDatas[PlayerLastIndex][2], PlayerCommentDatas[PlayerLastIndex][0], PlayerCommentDatas[PlayerLastIndex][1]);
+                CommentData commentData = PlayerCommentDatas[PlayerLastIndex];
+                ManaReso.GetCommentItem(commentData.NickName, commentData.SerialNumber, commentData.Content);
             }
 
             ScrollRectPlus.content.transform.position = CommentRecordPosition;

+ 11 - 1
Assets/Script/Manage/ManaUI.cs

@@ -2674,13 +2674,23 @@ public class ManaUI : Regist
             {
                 ManaReso.SetActive("P_Open", false);
                 ManaReso.SetActive("P_Share", false);
-                ManaReso.SetActive("P_CancelShare", true);
+                //ManaReso.SetActive("P_CancelShare", true);
 
                 string filePath = Application.persistentDataPath + "/MyLovelyGarden.png";
 
                 Application.CaptureScreenshot(filePath);
 
                 ManaIAP.Share(filePath);
+
+                DelayCall.Call
+                (
+                    1,
+                    () =>
+                    {
+                        ManaReso.SetActive("P_Open", true);
+                        ManaReso.SetActive("P_Share", true);
+                    }
+                );
             }
         );
 

+ 47 - 0
Assets/Script/Object/CommentItem.cs

@@ -4,10 +4,54 @@ using UnityEngine.UI;
 
 using System.Collections;
 using System.Collections.Generic;
+using LitJson;
 using Random = UnityEngine.Random;
 
+public class CommentData
+{
+    public string SerialNumber;
+    public string Content;
+    public string NickName;
+
+    public CommentData(JsonData jsonData)
+    {
+        SerialNumber = jsonData["s"].ToString();
+        Content = jsonData["c"].ToString();
+        NickName = jsonData["n"].ToString();
+    }
+
+    public static bool operator ==(CommentData r1, CommentData r2)
+    {
+        if ((r1.SerialNumber == r2.SerialNumber) && (r1.Content == r2.Content) && (r1.NickName == r2.NickName))
+        {
+            return true;
+        }
+        else
+        {
+            return false;
+        }
+    }
+
+    public static bool operator !=(CommentData r1, CommentData r2)
+    {
+        return !(r1 == r2);
+    }
+
+    public override bool Equals(object obj)
+    {
+        return this == (CommentData)obj;
+    }
+
+    public override int GetHashCode()
+    {
+        return SerialNumber.GetHashCode() + Content.GetHashCode() + NickName.GetHashCode();
+    }
+}
+
 public class CommentItem : Regist
 {
+    #region Config
+
     public Text Tit;
     public Text VisitLab;
     public Button VisitBtn;
@@ -16,6 +60,8 @@ public class CommentItem : Regist
     public string Content;
     public string SerialNumber;
 
+    #endregion
+
     public override bool RegistImmed()
     {
         if (base.RegistImmed())
@@ -47,6 +93,7 @@ public class CommentItem : Regist
 
     public void Visit()
     {
+        Debug.Log(SerialNumber);
         ManaSocial.CloseCommentPanel();
         ManaSocial.RecordCommentPanel();
         ManaVisit.Visit(ArchiveSource.SerialNumber, SerialNumber);

+ 2 - 2
Assets/Script/Object/PlazaRoomChest.cs

@@ -35,8 +35,8 @@ public class PlazaRoomChest : MonoBehaviour, IPointerClickHandler
     private string AnswerColor;
     private FlowerInfo AnswerInfo;
     private SpriteRenderer ParentSR;
-    private SpriteRenderer ChestSR;
-    private SpriteRenderer ShadowSR;
+    public SpriteRenderer ChestSR;
+    public SpriteRenderer ShadowSR;
 
     private Material GrayMaterial;
     private MaterialUnit MaterialUnit;

+ 8 - 1
Assets/Script/Object/PlazaRoomItem.cs

@@ -156,7 +156,14 @@ public class PlazaRoomItem : MonoBehaviour
             ID.text = RoomData.ID.ToString();
         }
 
-        Name.text = RoomData.Name;
+        if (RoomData.IsSystemRoom)
+        {
+            ManaLan.Add(Name, new LanStr("UI", "Z_SystemRoomName"));
+        }
+        else
+        {
+            Name.text = RoomData.Name;
+        }
 
         if (RoomData.IsSystemRoom)
         {

+ 7 - 2
Assets/Script/Tool/Auxiliary.cs

@@ -142,8 +142,13 @@ public class Auxiliary : Regist
 
         if (Input.GetKeyDown(KeyCode.Space))
         {
-            ManaServer.AddComment("1708183183139915476", ManaServer.SerialNumber, "新评论", CommentType.Garden);
+            foreach (var VARIABLE in ChestMge.PlazaRoomChests)
+            {
+                VARIABLE.ShadowSR.material = UnityFactory.Materials[0];
+                VARIABLE.ChestSR.material = UnityFactory.Materials[0];
+            }
 
+            //ManaSocial.CloseCommentPanel();
             //Debug.LogWarning(ManaServer.SerialNumber);
             //SFSManager.GardenSmartFox.EventManager.PlazaRoomEvent.CheckDefaultRoomStatus(1);
             //ManaReso.Get<VerticalLayoutGroup>("R_Grid").CalculateLayoutInputVertical();
@@ -152,7 +157,7 @@ public class Auxiliary : Regist
 
         if (Input.GetKeyDown(KeyCode.A))
         {
-            ManaCenter.Diamond = 0;
+            ManaSocial.UpdatePage(true);
             //PlazaRoomMge.DownloadRoomData(0);
             //DatabaseManager.GetRoomList(-1);
 

+ 10 - 1
ProjectSettings/ProjectSettings.asset

@@ -218,7 +218,16 @@ PlayerSettings:
       m_Icon: {fileID: 2800000, guid: 3224ba5b4cbd4b746a4e82c8cb2aa6fd, type: 3}
       m_Width: 128
       m_Height: 128
-  m_BuildTargetBatching: []
+  m_BuildTargetBatching:
+  - m_BuildTarget: Android
+    m_StaticBatching: 1
+    m_DynamicBatching: 1
+  - m_BuildTarget: iPhone
+    m_StaticBatching: 1
+    m_DynamicBatching: 1
+  - m_BuildTarget: Standalone
+    m_StaticBatching: 1
+    m_DynamicBatching: 1
   m_BuildTargetGraphicsAPIs: []
   m_BuildTargetVRSettings: []
   openGLRequireES31: 0

+ 3 - 0
第三期.txt

@@ -1,3 +1,6 @@
+标签移动了
+
+
 关闭ManaDebug 开启CatchException
 
 切换到远程服务器