public PlayerMovementEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, audioFilename: "player_movement") { Game = game; PlayerMovementComp = game.Entities.GetSingleComponent <PlayerComp, BoundedMovementComp>(); PlayerPositionComp = game.Entities.GetSingleComponent <PlayerComp, CurrentPositionComp>(); PlayerLastPositionComp = game.Entities.GetSingleComponent <PlayerComp, LastPositionComp>(); }
public override void Init(Game game) { Game = (RogueskivGame)game; var playerComp = Game.Entities.GetWithComponent <PlayerComp>().Single(); PlayerHealthComp = playerComp.GetComponent <HealthComp>(); CurrentPositionComp = playerComp.GetComponent <CurrentPositionComp>(); LastPositionComp = playerComp.GetComponent <LastPositionComp>(); TimerComp = Game.Entities.GetSingleComponent <TimerComp>(); }
public RogueskivRenderer( UxContext uxContext, IGameContext gameContext, RogueskivGame game, IRogueskivUxConfig uxConfig, IRogueskivGameConfig gameConfig ) : base(uxContext, game) { RogueskivGame = game; UxContext = uxContext; UxConfig = uxConfig; PlayerPositionComp = game.Entities.GetSingleComponent <PlayerComp, CurrentPositionComp>(); var font = uxContext.GetFont(uxConfig.FontFile, FONT_SIZE); BoardTexture = uxContext.GetTexture("board.png"); var bgrRenderer = new BgrRenderer(uxContext, new Size(1920, 1440)); Renderers.Add(bgrRenderer); Renderers.Add(new BoardRenderer(uxContext, game, BoardTexture)); CompRenderers[typeof(FoodComp)] = new FoodRenderer(this, uxContext, game, BoardTexture); CompRenderers[typeof(TorchComp)] = new TorchRenderer(this, uxContext, game, BoardTexture); CompRenderers[typeof(MapRevealerComp)] = new MapRevealerRenderer(this, uxContext, game, BoardTexture); CompRenderers[typeof(AmuletComp)] = new AmuletRenderer(this, uxContext, game, BoardTexture); CompRenderers[typeof(EnemyComp)] = new EnemyRenderer(uxContext, game); CompRenderers[typeof(FOVComp)] = new FOVRenderer(uxContext); CompRenderers[typeof(PlayerComp)] = new PlayerRenderer(uxContext, game, gameConfig.PlayerRadius); CompRenderers[typeof(HealthComp)] = new HealthRenderer(uxContext); CompRenderers[typeof(TimerComp)] = new GameInfoRenderer( uxContext, gameContext, font, game.Floor, inGameTimeVisible: gameConfig.InGameTimeVisible, realTimeVisible: gameConfig.RealTimeVisible ); CompRenderers[typeof(PopUpComp)] = new PopUpRenderer(uxContext, game, font); PlayerMovementEffectPlayer = new PlayerMovementEffectPlayer(uxContext, game); EffectPlayers.Add(new BounceEffectPlayer(uxContext, game)); EffectPlayers.Add(new TorchPickedEffectPlayer(uxContext, game)); EffectPlayers.Add(new MapRevealerPickedEffectPlayer(uxContext, game)); EffectPlayers.Add(new FoodPickedEffectPlayer(uxContext, game)); EffectPlayers.Add(new WinEffectPlayer(uxContext, game)); EffectPlayers.Add(new EnemyCollidedEffectPlayer(uxContext, game)); EffectPlayers.Add(new StairsUpEffectPlayer(uxContext, game)); EffectPlayers.Add(new StairsDownEffectPlayer(uxContext, game)); EffectPlayers.Add(new DeathEffectPlayer(uxContext, game)); }
public override void Init(Game game) { Game = (RogueskivGame)game; var stairsComps = game.Entities.GetComponents <StairsComp>(); UpStairsComp = (UpStairsComp)stairsComps.FirstOrDefault(s => s is UpStairsComp); DownStairsComp = (DownStairsComp)stairsComps.FirstOrDefault(s => s is DownStairsComp); PlayerEntity = game .Entities .GetWithComponent <PlayerComp>() .Single(); PlayerPositionComp = PlayerEntity.GetComponent <CurrentPositionComp>(); }
public override void Init(Game game) { Game = (RogueskivGame)game; BoardComp = Game.Entities.GetSingleComponent <BoardComp>(); var player = Game .Entities .GetWithComponent <PlayerComp>() .Single(); PlayerId = player.Id; PlayerPosComp = player.GetComponent <CurrentPositionComp>(); PlayerHealthComp = player.GetComponent <HealthComp>(); PlayerMovementComp = player.GetComponent <MovementComp>(); }
private GameEngine <EntityList> CreateGameStage( IGameResult <EntityList> result = null, int?gameSeed = null ) { LoadingScreenRenderer.Render(); var isFirstStage = result == null; if (isFirstStage) { SaveGlobalConfig(); } if (gameSeed.HasValue) { GameContext.SetSeed(gameSeed.Value); } var gameConfig = YamlParser.ParseFile <RogueskivGameConfig>(AppConfig.GameModeFilesPath, AppConfig.GameMode); gameConfig.GameFPS = GameContext.GameFPS; gameConfig.GameSeed = GameContext.GameSeed; gameConfig.FloorCount = AppConfig.FloorCount; if (FloorEngines.Count == 0) { UxContext.PlayMusic(gameConfig.GameMusicFilePath, gameConfig.GameMusicVolume); } CurrentFloor = FloorEngines.Count + 1; var game = new RogueskivGame(GameStageCodes.Game, gameConfig, CurrentFloor, result, OnGameEnd); var renderer = new RogueskivRenderer(UxContext, GameContext, game, AppConfig, gameConfig); var userInput = new RogueskivInputHandler(UxContext, game, renderer); var engine = new GameEngine <EntityList>(GameContext, userInput, game, renderer); FloorEngines.Add(engine); return(engine); }
public BounceEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "rock_hit") { }
public override void Init(Game game) { Game = (RogueskivGame)game; BoardComp = game.Entities.GetSingleComponent <BoardComp>(); }
public PopUpRenderer(UxContext uxContext, RogueskivGame game, IntPtr font) : base(uxContext, font) => Game = game;
protected EventEffectPlayer(UxContext uxContext, RogueskivGame game, string audioFilename) : base(uxContext, audioFilename) =>
public TorchPickedEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "torch_picked") { }
public StairsDownEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "stairs_down") { }
public EnemyCollidedEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "enemy_collided") { }
public WinEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "win") { }
public StairsUpEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "stairs_up") { }
public FoodPickedEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "food_picked") { }
public MapRevealerPickedEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "map_revealer_picked") { }
public DeathEffectPlayer(UxContext uxContext, RogueskivGame game) : base(uxContext, game, "death") { }