public static void ChangeMasterServerHostName(PlayerEnum playerSt)
    {
        string hostName = "";

        switch (playerSt)
        {
        case PlayerEnum.PlayerOne:
            hostName = HostNameP1;
            break;

        case PlayerEnum.PlayerTwo:
            hostName = HostNameP2;
            break;
        }

        if (hostName == "")
        {
            return;
        }

        IsFindMasterServer = false;
        if (MasterServer.PollHostList().Length > 0)
        {
            HostData[] hostData = MasterServer.PollHostList();

            for (int i = 0; i < hostData.Length; i++)
            {
                if (hostData[i].gameName == HostNameServer)
                {
                    Debug.Log("Find masterServer!");
                    IsFindMasterServer = true;
                    break;
                }
            }

            if (!IsFindMasterServer)
            {
                for (int i = 0; i < hostData.Length; i++)
                {
                    if (hostData[i].gameName == hostName)
                    {
                        MasterServer.RegisterHost(GameTypeName, HostNameServer, Network.player.ipAddress);
                        break;
                    }
                }
            }
            else
            {
                //Make the port change to client port.
                GameTypeCtrl.SetAppTypeVal(AppGameType.LianJiFeiJi);
                _Instance.MakeServerDisconnect();
                _Instance.LoadindeGameScene_1();
            }
        }
    }
Ejemplo n.º 2
0
    void Awake()
    {
        Instance      = this;
        pcvr.TKMoveSt = TKMoveSt;
        IsSetTKMoveSt = true;

        AppTypeStatic = AppType;
        if (AppType == AppGameType.LianJiServer)
        {
            IsServer = true;
        }
    }
    void Awake()
    {
        Instance       = this;
        IsTankVRStatic = IsTankVR;
        if (pcvr.bIsHardWare)
        {
            ServerIp = NetworkServerNet.ServerPortIP;
        }
        else
        {
            ServerIp = HandleJson.GetInstance().ReadFromFilePathXml(NetworkServerNet.IpFile, "SERVER_IP");
            if (ServerIp == null)
            {
                ServerIp = "192.168.0.2";
                HandleJson.GetInstance().WriteToFilePathXml(NetworkServerNet.IpFile, "SERVER_IP", ServerIp);
            }
        }

        if (ServerIp == Network.player.ipAddress)
        {
            //server port -> 1P.
            if (IsTestWorkNet)
            {
                if (IsTestClientPort)
                {
                    PlayerPCState = PlayerEnum.PlayerTwo;
                }
                else
                {
                    PlayerPCState = PlayerEnum.PlayerOne;
                }
            }
            else
            {
                PlayerPCState = PlayerEnum.PlayerOne;
            }
            XKMasterServerCtrl.CheckMasterServerIP();
        }
        else
        {
            //client port -> 2P.
            PlayerPCState = PlayerEnum.PlayerTwo;
        }
        SetAppTypeVal(AppGameType.LianJiServer);

        if (AppTypeStatic == AppGameType.LianJiServer)
        {
            //IsServer = true;
            DelayCheckServerIP();
        }
    }
    void CheckGameBtEvent()
    {
//		if (!ModeObj.activeSelf) {
//			return;
//		}

        ModeVal = GameMode.LianJi;
//		if (ModeVal == GameMode.Null) {
//			return;
//		}

//		if (!StartBtObj.activeSelf) {
//			return;
//		}

        XKGlobalData.GetInstance().PlayModeQueRenAudio();
        if (ModeVal != GameMode.LianJi)
        {
            IsSelectDanJiMode = true;
            HiddenGameMode();
            if (NetCtrl.GetInstance() != null)
            {
                NetCtrl.GetInstance().SendSubLinkCount();
            }
            GameTypeCtrl.SetAppTypeVal(AppGameType.LianJiFeiJi);
            NetworkServerNet.GetInstance().MakeServerDisconnect();             //Close ServerNet.
            NetworkServerNet.GetInstance().MakeClientDisconnect();             //Close ClientNet.
            SetActiveLoading(true);
        }
        else
        {
            IsSelectDanJiMode = false;
//			if (NetworkServerNet.GetInstance() != null) {
//				NetworkServerNet.GetInstance().TryToLinkServer();
//			}

            if (NetCtrl.GetInstance() != null)
            {
                NetCtrl.GetInstance().SendAddLinkCount();                 //ServerPort.
            }
            else
            {
                //ClientPort.
                IsActiveClientPort = true;
                HiddenGameMode();
                GameTypeCtrl.SetAppTypeVal(AppGameType.LianJiFeiJi);
                SetActiveLoading(true);
            }
        }
        SetActiveStartBt(false);
    }
    void Awake()
    {
        Instance = this;
        switch (AppType)
        {
        case AppGameType.DanJiFeiJi:
        case AppGameType.LianJiFeiJi:
            MyCOMDevice.PcvrComSt = PcvrComState.TanKeGunZhenDong;
            IsZuoBiaoFanZhuanPY   = true;
            PcvrGameSt            = PcvrComState.TanKeFangXiangZhenDong;
            GameTKPMState         = PcvrComState.TanKeFangXiangZhenDong;
            break;

        case AppGameType.DanJiTanKe:
        case AppGameType.LianJiTanKe:
            if (!pcvr.IsComTankTest)
            {
                MyCOMDevice.PcvrComSt = PcvrComState.TanKeFangXiangZhenDong;
            }
            IsZuoBiaoFanZhuanPY = AppType == AppGameType.DanJiTanKe ? true : false;
            PcvrGameSt          = AppType == AppGameType.DanJiTanKe ?
                                  PcvrComState.TanKeFangXiangZhenDong : PcvrComState.TanKeGunZhenDong;
            GameTKPMState = AppType == AppGameType.DanJiTanKe ?
                            GameTKPMState : PcvrComState.TanKeGame2Ping;
            break;
        }
        GameTKPMStatic           = GameTKPMState;
        MyCOMDevice.PcvrGameSt   = PcvrGameSt;
        pcvr.IsFanZhuanZuoBiaoPY = IsZuoBiaoFanZhuanPY;

        AppType = AppType == AppGameType.Null ? AppGameType.LianJiServer : AppType;
        if (!pcvr.bIsHardWare && DaoJiShiCtrl.IsTestActivePlayer)
        {
            string gameType = HandleJson.GetInstance().ReadFromFilePathXml(TestGameFile, "gameType");
            if (gameType == null || gameType == "")
            {
                gameType = "0";
                HandleJson.GetInstance().WriteToFilePathXml(TestGameFile, "gameType", gameType);
            }

            switch (gameType)
            {
            case "0":
                AppType = AppGameType.LianJiTanKe;
                break;

            case "1":
                AppType = AppGameType.LianJiFeiJi;
                break;

            case "2":
                AppType = AppGameType.LianJiServer;
                break;

            case "3":
                AppType = AppGameType.DanJiTanKe;
                break;

            case "4":
                AppType = AppGameType.DanJiFeiJi;
                break;
            }
            //Debug.Log("appType "+AppType+", gameType "+gameType);
        }

        AppTypeStatic = AppType;
        if (AppType == AppGameType.LianJiServer)
        {
            IsServer = true;
            DelayCheckServerIP();
        }
    }