Beispiel #1
0
    void Awake()
    {
        // Client Initialization
        m_ClientDriver = new UdpNetworkDriver(new NetworkConfigParameter {
            connectTimeoutMS = 35000, disconnectTimeoutMS = 35000, maxConnectAttempts = 10, maxFrameTimeMS = 10
        });

        m_ClientWorld = new World($"Client World #{GetInstanceID()}");

        b_EndOfFrame = m_ClientWorld.CreateSystem <B_EndOfFrame>();

        s_ManageClientConnections        = m_ClientWorld.CreateSystem <S_ManageClientConnections>();
        s_ManageClientConnections.Driver = m_ClientDriver;
        s_ManageClientConnections.CreateConnectionsBarrier = b_EndOfFrame;

        S_HandleClientConnectionEvent s_HandleClientConnectionEvent = m_ClientWorld.CreateSystem <S_HandleClientConnectionEvent>();
        S_HandleTextReceived          s_HandleTextReceived          = m_ClientWorld.CreateSystem <S_HandleTextReceived>();

        s_HandleTextReceived.CleanupMessageBarrier = b_EndOfFrame;

        S_HandleVisorMessageReceived s_HandleVisorMessageReceived = m_ClientWorld.CreateSystem <S_HandleVisorMessageReceived>();

        s_HandleVisorMessageReceived.CleanupMessageBarrier = b_EndOfFrame;

        ug_Network = m_ClientWorld.CreateSystem <UG_Network>();
        ug_Network.AddSystemToUpdateList(s_ManageClientConnections);
        ug_Network.AddSystemToUpdateList(s_HandleClientConnectionEvent);
        ug_Network.AddSystemToUpdateList(s_HandleTextReceived);
        ug_Network.AddSystemToUpdateList(s_HandleVisorMessageReceived);

        ug_Network.SortSystemUpdateList();
    }
Beispiel #2
0
    public void Initialize(ushort p_Port)
    {
        // Server Initialization
        m_ServerDriver = new UdpNetworkDriver(new NetworkConfigParameter {
            connectTimeoutMS = 35000, disconnectTimeoutMS = 35000, maxConnectAttempts = 10, maxFrameTimeMS = 10
        });

        NetworkEndPoint t_ServerEndpoint = NetworkEndPoint.AnyIpv4;

        t_ServerEndpoint.Port = p_Port;
        if (m_ServerDriver.Bind(t_ServerEndpoint) != 0)
        {
            Debug.Log($"Failed to bind to port {p_Port}");
        }
        else
        {
            m_ServerDriver.Listen();
        }

        m_ServerWorld = new World("Server World");

        b_EndOfFrame = m_ServerWorld.CreateSystem <B_EndOfFrame>();

        S_ManageServerConnections s_ManageServerConnections = m_ServerWorld.CreateSystem <S_ManageServerConnections>();

        s_ManageServerConnections.Driver                   = m_ServerDriver;
        s_ManageServerConnections.ConcurrentDriver         = m_ServerDriver.ToConcurrent();
        s_ManageServerConnections.CreateConnectionsBarrier = b_EndOfFrame;

        S_GenerateGrid s_GenerateGrid = m_ServerWorld.CreateSystem <S_GenerateGrid>(5, 5);

        S_MovePlayer s_MovePlayer = m_ServerWorld.CreateSystem <S_MovePlayer>();

        s_MovePlayer.CleanupMessageBarrier = b_EndOfFrame;

        S_DamageWall s_DamageWall = m_ServerWorld.CreateSystem <S_DamageWall>();

        s_DamageWall.CleanupMessageBarrier = b_EndOfFrame;

        S_RepairWall s_RepairWall = m_ServerWorld.CreateSystem <S_RepairWall>();

        s_RepairWall.CleanupMessageBarrier = b_EndOfFrame;

        S_ShootPlayer s_ShootPlayer = m_ServerWorld.CreateSystem <S_ShootPlayer>();

        s_ShootPlayer.CleanupMessageBarrier = b_EndOfFrame;

        ug_ServerNetwork = m_ServerWorld.CreateSystem <UG_Network>();
        ug_ServerNetwork.AddSystemToUpdateList(s_ManageServerConnections);
        ug_ServerNetwork.AddSystemToUpdateList(s_GenerateGrid);
        ug_ServerNetwork.AddSystemToUpdateList(s_MovePlayer);
        ug_ServerNetwork.AddSystemToUpdateList(s_DamageWall);
        ug_ServerNetwork.AddSystemToUpdateList(s_RepairWall);
        ug_ServerNetwork.AddSystemToUpdateList(s_ShootPlayer);


        ug_ServerNetwork.SortSystemUpdateList();
    }