public ContainerResourceManager(IUpdateHub updateHub, IExtensionResolver extensionResolver, IDefinitionManager definitionManager, ISettings settings) { UpdateHub = updateHub; this.extensionResolver = extensionResolver; this.definitionManager = definitionManager; this.settings = settings; }
public DiskPersistenceManager(IExtensionResolver extensionResolver, ISettings Settings, IUpdateHub updateHub) { this.extensionResolver = extensionResolver; settings = Settings; databaseProvider = new DatabaseProvider(GetRoot(), TypeContainer.Get <ILogger>()); awaiterPool = TypeContainer.Get <IPool <Awaiter> >(); blockChangedNotificationPool = TypeContainer.Get <IPool <BlockChangedNotification> >(); chunkSubscription = updateHub.Subscribe(this, DefaultChannels.Chunk); }
public DefinitionManager(IExtensionResolver extensionResolver) { this.extensionResolver = extensionResolver; definitions = extensionResolver.GetDefinitions <IDefinition>().ToArray(); // Items sammeln itemDefinitions = definitions.OfType <IItemDefinition>().ToArray(); // Blöcke sammeln blockDefinitions = definitions.OfType <IBlockDefinition>().ToArray(); }
public DefaultBootstrapperTest() { this.extensionHost = A.Fake <IExtensionHost <IExtension> >(); this.reporter = A.Fake <IReporter>(); this.strategy = A.Fake <IStrategy <IExtension> >(); this.runExecutor = A.Fake <IExecutor <IExtension> >(); this.shutdownExecutor = A.Fake <IExecutor <IExtension> >(); this.reportingContext = A.Fake <IReportingContext>(); this.extensionResolver = A.Fake <IExtensionResolver <IExtension> >(); this.testee = new DefaultBootstrapper <IExtension>(this.extensionHost, this.reporter); }
/// <summary> /// Erzeugt eine neue Instaz der Klasse Simulation. /// </summary> public Simulation(IResourceManager resourceManager, IExtensionResolver extensionResolver, IGameService service) { ResourceManager = resourceManager; simmulationSubscription = resourceManager.UpdateHub.Subscribe(this, DefaultChannels.Simulation); this.extensionResolver = extensionResolver; State = SimulationState.Ready; UniverseId = Guid.Empty; Service = service; Components = new ComponentList <SimulationComponent>( ValidateAddComponent, ValidateRemoveComponent, null, null); extensionResolver.ExtendSimulation(this); }
public DiskPersistenceManager(IExtensionResolver extensionResolver, IDefinitionManager definitionManager, ISettings Settings) { this.extensionResolver = extensionResolver; this.definitionManager = definitionManager; this.Settings = Settings; }
public void CreateManager(IExtensionResolver extensionResolver, IDefinitionManager definitionManager, ISettings settings, bool multiplayer) { IPersistenceManager persistenceManager; if (resourceManager != null) { if (resourceManager.CurrentUniverse != null) { resourceManager.UnloadUniverse(); } resourceManager = null; } if (multiplayer) { var rawIpAddress = settings.Get <string>("server").Trim(); string host; IPAddress iPAddress; int port = -1; if (rawIpAddress[0] == '[' || !IPAddress.TryParse(rawIpAddress, out iPAddress)) //IPV4 || IPV6 without port { string stringIpAddress; if (rawIpAddress[0] == '[') // IPV6 with Port { port = int.Parse(rawIpAddress.Split(':').Last()); stringIpAddress = rawIpAddress.Substring(1, rawIpAddress.IndexOf(']') - 1); } else if (rawIpAddress.Contains(':') && IPAddress.TryParse(rawIpAddress.Substring(0, rawIpAddress.IndexOf(':')), out iPAddress)) //IPV4 with Port { port = int.Parse(rawIpAddress.Split(':').Last()); stringIpAddress = iPAddress.ToString(); } else if (rawIpAddress.Contains(':')) //Domain with Port { port = int.Parse(rawIpAddress.Split(':').Last()); stringIpAddress = rawIpAddress.Split(':').First(); } else //Domain without Port { stringIpAddress = rawIpAddress; } host = stringIpAddress; } else { host = rawIpAddress; } var client = new Network.Client(); client.Connect(host, port > 0 ? (ushort)port : (ushort)8888); persistenceManager = new NetworkPersistenceManager(client, definitionManager); networkUpdateManager = new NetworkUpdateManager(client, UpdateHub, definitionManager); } else { persistenceManager = new DiskPersistenceManager(extensionResolver, definitionManager, settings); } resourceManager = new ResourceManager(extensionResolver, definitionManager, settings, persistenceManager); resourceManager.InsertUpdateHub(UpdateHub as UpdateHub); chunkSubscription = UpdateHub.Subscribe(GlobalChunkCache, DefaultChannels.Chunk); GlobalChunkCache.InsertUpdateHub(UpdateHub); IsMultiplayer = multiplayer; if (multiplayer) { resourceManager.GlobalChunkCache.ChunkColumnChanged += (s, c) => { var networkPersistence = (NetworkPersistenceManager)persistenceManager; networkPersistence.SendChangedChunkColumn(c); }; } }
public DecoratedExtensionResolver(IExtensionResolver <ISensor> extensionResolver, Func <ISensor, bool> selector) { this.selector = selector; this.extensionResolver = extensionResolver; }
public SimulationComponent(OctoGame game, IExtensionResolver extensionResolver, IResourceManager resourceManager) : base(game) { Service = game.Service; this.extensionResolver = extensionResolver; this.resourceManager = resourceManager; }