Esempio n. 1
0
    void UpdateUI()
    {
        ENetworkState state = Net.GetState();

        if (state == ENetworkState.Closed)
        {
            FldRemoteAddress.gameObject.SetActive(true);
            BtnStartServer.gameObject.SetActive(true);
            BtnStartClient.gameObject.SetActive(true);
            BtnClose.gameObject.SetActive(false);
        }
        else if (state == ENetworkState.Startup || state == ENetworkState.Running)
        {
            FldRemoteAddress.gameObject.SetActive(false);
            BtnStartServer.gameObject.SetActive(false);
            BtnStartClient.gameObject.SetActive(false);
            BtnClose.gameObject.SetActive(true);
        }
        else
        {
            FldRemoteAddress.gameObject.SetActive(false);
            BtnStartServer.gameObject.SetActive(false);
            BtnStartClient.gameObject.SetActive(false);
            BtnClose.gameObject.SetActive(false);
        }

        TxtState.text = state.ToString();
    }
Esempio n. 2
0
    void RPC_S2C_StartLogin(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        _pos = transform.position = stream.Read <Vector3>();
        int  recordTeamId = stream.Read <int>();
        bool hasRecord    = stream.Read <bool>();

        _networkState = stream.Read <ENetworkState>();

        if (null != RoomGui_N.Instance && RoomGui_N.Instance.isShow)
        {
            RoomGui_N.ChangePlayerStateByNet(Id, (int)NetworkState);
        }

        _useNewPos = UseNewPosition(hasRecord, recordTeamId);

        ChunkManager.Clear();

        if (null != PeSceneCtrl.Instance)
        {
            PeSceneCtrl.Instance.GotoGameSence();
        }

        if (Pathea.PeGameMgr.IsCustom)
        {
            int descId = -1 == DescId ? Id : DescId;
            curPlayerDesc = ForceSetting.AddPlayer(descId, TeamId, EPlayerType.Human, RoleName);
        }
    }
    // void BtnStartExperiment()
    // {
    //     EExperimentStatus expStatus = Exp.GetExperimentStatus();
    //     Debug.Assert(expStatus == EExperimentStatus.Waiting);
    //     // Exp.StartExperiment();
    // }

    // void BtnAbortExperiment()
    // {
    //     EExperimentStatus expStatus = Exp.GetExperimentStatus();
    //     Debug.Assert(expStatus != EExperimentStatus.Waiting);
    //     Exp.AbortExperiment();
    // }

    void RefreshUI()
    {
        ENetworkState     netState  = NetMan.GetState();
        EExperimentStatus expStatus = Exp.GetExperimentStatus();

        BtnStartServer.gameObject.SetActive(netState == ENetworkState.Closed);
        BtnStartClient.gameObject.SetActive(netState == ENetworkState.Closed);
        BtnAbortClose.gameObject.SetActive(netState == ENetworkState.Running || netState == ENetworkState.Startup);
        PreviousNetState = netState;

        // if (NetMan.IsServer())
        // {
        //     BtnStartExp.gameObject.SetActive(expStatus == EExperimentStatus.Waiting && NetMan.GetNumConnections() == 1);
        //     BtnAbortExp.gameObject.SetActive(expStatus != EExperimentStatus.Waiting);
        // }
        // else
        // {
        //     // BtnStartExp.gameObject.SetActive(false);
        //     // BtnAbortExp.gameObject.SetActive(false);
        // }
        PreviousExpStatus    = expStatus;
        bPreviousServerState = NetMan.IsServer();

        NetworkState.text    = (netState != ENetworkState.Closed ? (NetMan.IsServer() ? "Server - " : "Client - ") : "") + netState.ToString();
        ExperimentState.text = expStatus.ToString();

        ClientList.text = "";
        string[] conns = NetMan.NetComp.GetConnectionNames();
        foreach (string name in conns)
        {
            ClientList.text += name + "\n";
        }
    }
Esempio n. 4
0
 public void OnUpdatedNetworkState(ENetworkState newNetworkState, AbstractBEventDispatcher bEventDispatcher)
 {
     if (ARE_EQUAL(BEventDispatcher, bEventDispatcher))
     {
         NetworkState = newNetworkState;
         BEventsCollection.NETWORK_NetworkStateUpdated.Invoke(new BEHandle <ENetworkState>(NetworkState));
     }
 }
    void BtnStartServerClicked()
    {
        ENetworkState netState = NetMan.GetState();

        Debug.Assert(netState == ENetworkState.Closed);

        PreviousNetState = netState;
        NetMan.StartServer();
    }
Esempio n. 6
0
		/// <summary>
		/// 连接服务器
		/// </summary>
		public void ConnectServer(string host, int port, Type packageParseType)
		{
			if (State == ENetworkState.Disconnect)
			{
				State = ENetworkState.Connecting;
				IPEndPoint remote = new IPEndPoint(IPAddress.Parse(host), port);
				_server.ConnectAsync(remote, OnConnectServer, packageParseType);
			}
		}
Esempio n. 7
0
		/// <summary>
		/// 断开连接
		/// </summary>
		public void DisconnectServer()
		{
			State = ENetworkState.Disconnect;
			if (_channel != null)
			{
				_server.ReleaseChannel(_channel);
				_channel = null;
			}
		}
    // Update is called once per frame
    void Update()
    {
        ENetworkState     netState  = NetMan.GetState();
        EExperimentStatus expStatus = Exp.GetExperimentStatus();

        if (netState != PreviousNetState || expStatus != PreviousExpStatus || bPreviousServerState != NetMan.IsServer())
        {
            RefreshUI();
        }
    }
Esempio n. 9
0
    void Update()
    {
        ENetworkState state = Net.GetState();

        if (state != PrevState)
        {
            UpdateUI();
            PrevState = state;
        }
    }
Esempio n. 10
0
    protected override void OnPEInstantiate(uLink.NetworkMessageInfo info)
    {
        _role = info.networkView.initialData.Read <RoleInfo>();

        _networkState = ENetworkState.Null;
        _id           = Role.roleID + 3000000;
        name          = Role.name;

        AddBaseNetwork();
    }
Esempio n. 11
0
		private void UpdateNetworkState()
		{
			if (State == ENetworkState.Connected)
			{
				if (_channel != null && _channel.IsConnected() == false)
				{
					State = ENetworkState.Disconnect;
					LogSystem.Log(ELogType.Warning, "Server disconnect.");
				}
			}
		}
Esempio n. 12
0
    void Awake()
    {
        Debug.Assert(FldRemoteAddress != null);
        Debug.Assert(BtnStartServer != null);
        Debug.Assert(BtnStartClient != null);
        Debug.Assert(BtnClose != null);
        Debug.Assert(TxtState != null);

        PrevState = ENetworkState.Closed;
        UpdateUI();
    }
    void BtnStartClientClicked()
    {
        ENetworkState netState = NetMan.GetState();

        Debug.Assert(netState == ENetworkState.Closed);

        PreviousNetState = netState;
        string address = AddressField.text;

        address = address.Length == 0 ? "127.0.0.1" : address;
        NetMan.StartClient(address);
    }
Esempio n. 14
0
		private void OnConnectServer(TChannel channel, SocketError error)
		{
			LogSystem.Log(ELogType.Log, $"Server connect result : {error}");
			if (error == SocketError.Success)
			{
				_channel = channel;
				State = ENetworkState.Connected;
			}
			else
			{
				State = ENetworkState.Disconnect;
			}
		}
    void BtnAbortCloseClicked()
    {
        ENetworkState netState = NetMan.GetState();

        Debug.Assert(netState == ENetworkState.Running || netState == ENetworkState.Startup);
        PreviousNetState = NetMan.GetState();

        if (NetMan.IsServer())
        {
            Exp.AbortExperiment();
        }

        NetMan.Close();
    }
Esempio n. 16
0
    void RPC_S2C_RoomStatusChanged(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        _networkState = stream.Read <ENetworkState>();

        if (null != RoomGui_N.Instance && RoomGui_N.Instance.isShow)
        {
            RoomGui_N.ChangePlayerStateByNet(Id, (int)NetworkState);
        }

        if (IsOwner)
        {
            delGrassPos.Clear();
            delTreePos.Clear();
        }
    }
Esempio n. 17
0
    // Update is called once per frame
    void Update()
    {
        ENetworkState state = GetState();

        if (state == ENetworkState.Running)
        {
            if (NetComp.IsServer())
            {
                UpdateServer();
            }
            else
            {
                UpdateClient();
            }
        }
    }
Esempio n. 18
0
    void RPC_S2C_InitData(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        _networkState = stream.Read <ENetworkState>();
        _teamId       = stream.Read <int>();
        _colorIndex   = stream.Read <int>();
        _descId       = stream.Read <int>();

        RoomPlayerInfo rpi = new RoomPlayerInfo();

        rpi.mId = Id;
        rpi.mPlayerInfo.mName     = Role.name;
        rpi.mPlayerInfo.mSex      = Role.sex;
        rpi.mPlayerInfo.mLevel    = Role.level;
        rpi.mPlayerInfo.mWinnRate = Role.winrate;
        rpi.mFocreID = Pathea.PeGameMgr.IsSurvive && !Pathea.PeGameMgr.IsCustom ? -1 : TeamId;
        rpi.mRoleID  = _descId;
        rpi.mState   = (int)NetworkState;
        RoomGui_N.InitRoomPlayerByNet(rpi);
    }
Esempio n. 19
0
 public void RequestChangeStatus(ENetworkState state)
 {
     RPCServer(EPacketType.PT_InRoom_StatusChange, (int)state);
 }