public ServerPlugin(PluginLoadData pluginLoadData) : base(pluginLoadData) { var handlers = from t in Assembly.GetAssembly(GetType()).GetTypes() .Where(t => t.GetInterfaces().Contains(typeof(IHandler <IClientPeer>))) select Activator .CreateInstance(t) as IHandler <IClientPeer>; clientHandlerList = new ClientHandlerList(handlers); CreateSubServers(); ClientManager.ClientConnected += OnConnect; }
public DarkRiftClientPeer(ISubServer server, IHandlerList <IClientPeer> handlerList, IClient client, IEnumerable <IClientData> clientData) { Server = server; this.handlerList = handlerList; Client = client; this.clientData = new Dictionary <Type, IClientData>(); foreach (var data in clientData) { this.clientData.Add(data.GetType(), data); } Server.Plugin.ClientManager.ClientDisconnected += OnDisconnect; Console.WriteLine("Created client peer."); Client.MessageReceived += OnOperationRequest; }
public PhotonServerPeer(S2SPeerBase peer, bool isPeer, ILogger log, IServerApplication server, IEnumerable <IServerData> serverData, IServerConnectionCollection <IServerType, IServerPeer> serverCollection, IHandlerList <IServerPeer> handlerList) { _peer = peer; Log = log; Server = server; Log.DebugFormat("Created Server Peer"); _serverCollection = serverCollection; _handlerList = handlerList; _serverCollection.Connect(this); foreach (var data in serverData) { Log.DebugFormat("Data {0}-{1}", data.ToString(), data.GetType().ToString()); _serverData.Add(data.GetType(), data); } }
public PhotonClientPeer(InitRequest initRequest, ILogger log, IServerApplication server, IEnumerable <IClientData> clientData, IConnectionCollection <IClientPeer> connectionCollection, IHandlerList <IClientPeer> handlerList) : base(initRequest) { Log = log; _server = server; _handlerList = handlerList; Log.DebugFormat("Created Client Peer"); ConnectionCollection = connectionCollection; ConnectionCollection.Connect(this); PeerId = Guid.NewGuid(); _clientData = new Dictionary <Type, IClientData>(); foreach (var data in clientData) { _clientData.Add(data.GetType(), data); } }