protected RailConnection(RailRegistry registry) { Resource = new RailResource(registry); Interpreter = new RailInterpreter(); Room = null; hasStarted = false; }
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; }
public static void Initialize() { // TODO: This should be codegen RailRegistry registry = new RailRegistry(); registry.SetCommandType <GameCommand>(); registry.AddEntityType <ControlledEntity, EntityState>(); registry.AddEntityType <DummyEntity, EntityState>(); registry.AddEntityType <MimicEntity, EntityState>(); registry.Register(); }
public static RailRegistry Server(IEnvironmentServer environment) { RailRegistry reg = new RailRegistry(Component.Server); // Entities reg.AddEntityType <WorldEntityServer, WorldState>(new object[] { environment }); reg.AddEntityType <MobilePartyEntityServer, MobilePartyState>( new object[] { environment }); // Events reg.AddEventType <EventTimeControl>(); reg.AddEventType <EventPartyMoveTo>(); return(reg); }
public static RailRegistry Client(IEnvironmentClient environment) { RailRegistry reg = new RailRegistry(Component.Client); // Entities reg.AddEntityType <WorldEntityClient, WorldState>(new object[] { environment }); reg.AddEntityType <MobilePartyEntityClient, MobilePartyState>( new object[] { environment }); // Events reg.AddEventType <EventTimeControl>(); reg.AddEventType <EventPartyMoveTo>(); reg.AddEventType <EventMethodCall>(); return(reg); }
public static RailRegistry Get(Component eComponent) { RailRegistry registry = new RailRegistry(eComponent); switch (eComponent) { case Component.Server: registry.AddEntityType <EntityServer, EntityState>(); break; case Component.Client: registry.AddEntityType <EntityClient, EntityState>(); break; } registry.SetCommandType <Command>(); return(registry); }
private readonly List <RailEntityServer> toRemove = new List <RailEntityServer>(); // Pre-allocated list for reuse public RailServer(RailRegistry registry) : base(registry) { }
public RailClient(RailRegistry registry) : base(registry) { ServerPeer = null; localTick = Tick.START; Room = null; }