Ejemplo n.º 1
0
        private void CustomData()
        {
            RailSynchronizedFactory.Detect(Assembly.GetExecutingAssembly());
            DataWithCustomField data0 = new DataWithCustomField
            {
                Data = new Foo()
                {
                    A = 0,
                    B = 0
                }
            };
            DataWithCustomField data1 = new DataWithCustomField
            {
                Data = new Foo()
                {
                    A = 42,
                    B = 43
                }
            };

            ((IRailPoolable <RailState>)data0).Allocated();
            ((IRailPoolable <RailState>)data1).Allocated();

            // Transfer data from data1 to data0 via buffer
            uint          uiFlagAll = 0xFFFF;
            RailBitBuffer buffer    = new RailBitBuffer();

            data1.DataSerializer.EncodeMutableData(buffer, uiFlagAll);
            data0.DataSerializer.DecodeMutableData(buffer, uiFlagAll);

            Assert.Equal(data1.Data.A, data0.Data.A);
            Assert.Equal(data1.Data.B, data0.Data.B);
        }
Ejemplo n.º 2
0
        public Rail_Test()
        {
            RailSynchronizedFactory.Detect(Assembly.GetAssembly(typeof(RailBitBufferExtensions)));

            RailRegistry registryClient = new RailRegistry(Component.Client);

            registryClient.AddEntityType <RailEntityClient <SomeState>, SomeState>();

            RailRegistry registryServer = new RailRegistry(Component.Server);

            registryServer.AddEntityType <RailEntityServer <SomeState>, SomeState>();

            m_Client = new RailClient(registryClient);
            m_Server = new RailServer(registryServer);

            m_PeerClientSide = new Mock <RailNetPeerWrapper>(m_ConClientSide)
            {
                CallBase = true
            };
            m_PeerServerSide = new Mock <RailNetPeerWrapper>(m_ConServerSide)
            {
                CallBase = true
            };

            m_ConClientSide.OnSend += m_PeerServerSide.Object.Receive;
            m_ConServerSide.OnSend += m_PeerClientSide.Object.Receive;
        }
Ejemplo n.º 3
0
 public RailRegistry(Component eComponent)
 {
     Component   = eComponent;
     CommandType = null;
     eventTypes  = new List <EventConstructionInfo>();
     entityTypes = new List <EntityConstructionInfo>();
     Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
     foreach (Assembly assembly in loadedAssemblies)
     {
         RailSynchronizedFactory.Detect(assembly);
     }
 }