public void SetUp() { loader = Substitute.For <IEntityDataProvider>(); loader.GetData().Returns(new List <string>()); engine = new EntityEngine(loader); }
private void LoadVaultData(ISystemContainer systemContainer) { var vaultFiles = _vaultDataProvider.GetData(); foreach (var vaultFile in vaultFiles) { var vault = MapSerializer.Deserialize(systemContainer, vaultFile); systemContainer.MapSystem.AddVault(vault); } }
private void SetKeyBindings() { var keyBindingsData = keyBindingsDataProvider.GetData(); var bindings = EntitySerializer.DeserializeAll(_systemContainer, keyBindingsData).SingleOrDefault(); if (bindings != null) { _keyBindings = bindings.Components.OfType <KeyBinding>().ToList(); } else { _keyBindings = new List <KeyBinding>(); } }
public void Initialise_LoadsStaticEntities() { var systemContainer = new SystemContainer(new EntityDataProviders { PrototypeEntityDataProvider = loader }); systemContainer.EntityEngine = engine; IEntity loadedEntity = null; loader.GetData().Returns(new List <string> { @"""TestEntity""" }); engine.Initialise(systemContainer); (loadedEntity as Entity)?.IsStatic.Should().BeTrue(); }
private ISpriteManager SetUpSpriteManager(IEntityDataProvider graphicsDataProvider) { var spriteManager = new BLTSpriteManager(); var graphicsData = graphicsDataProvider.GetData(); foreach (var spriteCollection in graphicsData) { var entity = EntitySerializer.DeserializeOutsideEngine(spriteCollection); foreach (SpriteSheet sheet in entity.Components) { switch (sheet.Type) { case "SingleSprite": spriteManager.AddAnimated(_spriteLoader.LoadSingleSprite(sheet.Name, sheet.Path, sheet.SpriteWidth, sheet.SpriteHeight, sheet.Scaling, TILE_SPACING, sheet.Frames.Count), sheet.Frames); break; case "TilesetBox": spriteManager.AddAnimated(_spriteLoader.LoadTileset_BoxType(sheet.Name, sheet.Path, sheet.SpriteWidth, sheet.SpriteHeight, sheet.Scaling, TILE_SPACING, sheet.Frames.Count), sheet.Frames); break; case "TilesetWall": spriteManager.Add(_spriteLoader.LoadTileset_WallType(sheet.Name, sheet.Path, sheet.SpriteWidth, sheet.SpriteHeight, sheet.Scaling, TILE_SPACING)); break; case "FourDirection": spriteManager.Add(_spriteLoader.LoadFourDirectionSprite(sheet.Name, sheet.Path, sheet.SpriteWidth, sheet.SpriteHeight, sheet.Scaling, TILE_SPACING)); break; default: throw new Exception($"Unknown sprite sheet type '{sheet.Type}' in SetUpSpriteManager"); } } } return(spriteManager); }
private void AddPlayerToWorld(ISystemContainer systemContainer, MapCoordinate spawnPoint, CharacterCreationForm form) { var playerData = _playerEntityDataProvider.GetData().Single(); var player = EntitySerializer.Deserialize(systemContainer, playerData); systemContainer.PositionSystem.SetPosition(player, spawnPoint); player.Get <Description>().Name = form.Name; SetInitialStats(systemContainer, form, player); systemContainer.EntityEngine.AddComponent(player, new HasClass { Class = form.Class }); LearnClassSkills(systemContainer, form, player); GiveStartingGear(systemContainer, form, player); SetStartDetails(systemContainer, form, player); PrintWelcomeMessage(systemContainer, form, player); systemContainer.PlayerSystem.Player = player; }
private void LoadEntityData(ISystemContainer systemContainer) { var worldData = _worldEntityDataProvider.GetData(); EntitySerializer.DeserializeAll(systemContainer, worldData); }