public SideEntry(Arkanoid game, Vector2 location, bool flip) { Game = game; Texture = Sprites.FrmSideOpen; Location = location; Flip = flip; }
static void Main(string[] args) { using (var game = new Arkanoid()) { game.Run(); } }
public static Vector2 GetBrickLocation(Arkanoid game, int x, int y) { return(new Vector2( game.ArenaArea.X + x * Sprites.BrkWhite.Width, game.ArenaArea.Y + y * Sprites.BrkWhite.Height)); }
public LevelWadSelector(Arkanoid game, bool twoPlayer, LevelWad wad, int level, bool left) { Game = game; TwoPlayer = twoPlayer; IsLeft = left; Wad = wad; if (!game.Settings.Unlocks.ContainsKey(wad.Name)) { //exception not set. game.Settings.Unlocks.Add(wad.Name, new WadScore { Name = wad.Name }); } else if (level == -1) { try { level = game.Settings.Unlocks[wad.Name].LevelScores.Count; } catch { level = 0; } } Level = level; Name = "Round " + (Level + 1); }
public static Map GetLevel(Arkanoid game, PlayArena playArena, Level level) { BackGroundTypes bg; if (!Enum.TryParse(Enum.GetNames(typeof(BackGroundTypes))[level.Background], out bg)) { bg = BackGroundTypes.BlueCircuit; } EnemyTypes et; if (!Enum.TryParse(Enum.GetNames(typeof(EnemyTypes))[level.EnemyType], out et)) { et = EnemyTypes.Tri; } game.BlocksWide = level.BricksWide; return(new Map { BricksWide = level.BricksWide, BricksHigh = level.BricksHigh, BackGround = bg, TopLeftEntryEnable = level.TopLeftEntryEnable == 1, TopRightEntryEnable = level.TopRightEntryEnable == 1, SideRightTopEntryEnable = level.SideRightTopEntryEnable == 1, SideRightMidEntryEnable = level.SideRightMidEntryEnable == 1, SideLeftTopEntryEnable = level.SideLeftTopEntryEnable == 1, SideLeftMidEntryEnable = level.SideLeftMidEntryEnable == 1, MinEnimyRealeaseTime = level.MaxEnemyReleaseTime, MaxEnimyRealeaseTime = level.MaxEnemyReleaseTime, MaxEnimies = level.MaxEnemies, EnemyType = et, PlayArena = playArena, BrickMap = GetLevelBrickMap(game, playArena, level) }); }
public BrickArena(Arkanoid game) : base(game) { Show = new TimeSpan(0, 0, 0, 15); Starfield = new Starfield(100, new Rectangle(0, 0, (int)Game.Width, (int)Game.Height)); Bricks = new Dictionary <BrickTypes, Sprite> { { BrickTypes.White, Brick.GetBrickTexture(BrickTypes.White) }, { BrickTypes.Orange, Brick.GetBrickTexture(BrickTypes.Orange) }, { BrickTypes.SkyBlue, Brick.GetBrickTexture(BrickTypes.SkyBlue) }, { BrickTypes.Green, Brick.GetBrickTexture(BrickTypes.Green) }, { BrickTypes.Red, Brick.GetBrickTexture(BrickTypes.Red) }, { BrickTypes.DarkRed, Brick.GetBrickTexture(BrickTypes.DarkRed) }, { BrickTypes.Blue, Brick.GetBrickTexture(BrickTypes.Blue) }, { BrickTypes.DarkBlue, Brick.GetBrickTexture(BrickTypes.DarkBlue) }, { BrickTypes.Pink, Brick.GetBrickTexture(BrickTypes.Pink) }, { BrickTypes.Yellow, Brick.GetBrickTexture(BrickTypes.Yellow) }, { BrickTypes.Silver, Brick.GetBrickTexture(BrickTypes.Silver) }, { BrickTypes.Black, Brick.GetBrickTexture(BrickTypes.Black) }, { BrickTypes.Gold, Brick.GetBrickTexture(BrickTypes.Gold) }, { BrickTypes.Regen, Brick.GetBrickTexture(BrickTypes.Regen) }, { BrickTypes.BlackRegen, Brick.GetBrickTexture(BrickTypes.BlackRegen) }, { BrickTypes.SilverSwap, Brick.GetBrickTexture(BrickTypes.SilverSwap) }, { BrickTypes.GoldSwap, Brick.GetBrickTexture(BrickTypes.GoldSwap) }, { BrickTypes.BlueSwap, Brick.GetBrickTexture(BrickTypes.BlueSwap) }, { BrickTypes.Teleport, Brick.GetBrickTexture(BrickTypes.Teleport) }, { BrickTypes.Transmit, Brick.GetBrickTexture(BrickTypes.Transmit) } }; }
public Ball(Arkanoid game, PlayArena playArena, bool megaBall, bool isCaught, bool isMagna) : base(game) { PlayArena = playArena; IsMegaBall = megaBall; IsMagnaBall = isMagna; X = Y = 0; IsCaught = isCaught; }
public Capsule(CapsuleTypes type, Arkanoid game, PlayArena playArena, Vector2 location) : base(game) { PlayArena = playArena; Motion = new Vector2(0, 2); Location = location; CapsuleType = type; Texture = GetCapTexture(type); }
public DohSplinter(Arkanoid game, PlayArena playArena, Vector2 location) : base(game) { PlayArena = playArena; Texture = Sprites.EnmDohSplinter; DieTexture = Sprites.EnmDieGeomUfo; Location = location; }
public PlayArena(Arkanoid game, bool twoPlayer, LevelWadSelector selector, Vaus vaus, int editLevelNumber, Level editLevel = null, string editPath = null, bool demo = false) : base(game) { TwoPlayer = twoPlayer; _editLevelNum = editLevelNumber; _editLevel = editLevel; _editPath = editPath; if (demo) { var w = Levels.Levels.Wads.Where(v => v.Levels.Count != 0).ToList(); LevelSelector = new DemoLevelWadSelector(game, w[w.Count - 1], 0, false); } else { LevelSelector = selector; } if (LevelSelector != null) { LevelSelector.Initialise(this); if (LevelMap.TopLeftEntryEnable) { EnimyEntries.Add(TopLeftEntry); } if (LevelMap.TopRightEntryEnable) { EnimyEntries.Add(TopRightEntry); } if (LevelMap.SideRightTopEntryEnable) { EnimyEntries.Add(SideRightTopEntry); } if (LevelMap.SideRightMidEntryEnable) { EnimyEntries.Add(SideRightMidEntry); } if (LevelMap.SideLeftTopEntryEnable) { EnimyEntries.Add(SideLeftTopEntry); } if (LevelMap.SideLeftMidEntryEnable) { EnimyEntries.Add(SideLeftMidEntry); } NextEnimyRelease = new TimeSpan(0, 0, Arkanoid.Random.Next(LevelMap.MinEnimyRealeaseTime, LevelMap.MaxEnimyRealeaseTime)); } NextBrickFlash = new TimeSpan(0, 0, 1); DemoMode = demo; EndDemo = new TimeSpan(0, 0, 2, 30); Vaus = vaus ?? (demo ? new DemoVaus(game, this) : new Vaus(game, this, true, TwoPlayer)); Vaus.PlayArena = this; Vaus.Reset(); }
public PlayerSelectArena(Arkanoid game, BackGroundTypes backGround) : base(game) { BackGround = backGround; MenuItems = new[] { Textures.Cmn1Player, Textures.Cmn2Player, Textures.CmnBack }; foreach (var texture in MenuItems) { MenuHeight += texture.Height; } }
public PlayableArena(Arkanoid game) : base(game) { EnimyEntries = new List <ISpawner>(); Capsules = new List <Capsule>(); Enimies = new List <Enemy>(); Balls = new List <Ball>(); Lasers = new List <Laser>(); }
public LevelWad(Arkanoid game, string name, Texture2D box, Texture2D title, List <KeyValuePair <Level, Level> > levels) { Game = game; Name = name; Box = box; Title = title; Levels = levels; IsCustom = false; }
public Sprite(Arkanoid game, int frames, TimeSpan rate, AnimationState anim, Texture2D map, float subScale = 1) { Game = game; Map = map; Animation = anim; SubScale = subScale; Rate = rate; Frames = frames; OnFinish += () => { }; }
public PowerUpArena(Arkanoid game) : base(game) { Show = new TimeSpan(0, 0, 0, 15); Starfield = new Starfield(100, new Rectangle(0, 0, (int)Game.Width, (int)Game.Height)); Capsules = new Dictionary <CapsuleTypes, Sprite>(); foreach (var c in Enum.GetValues(typeof(CapsuleTypes)).Cast <CapsuleTypes>()) { Capsules.Add(c, Capsule.GetCapTexture(c)); } LastTouch = new TimeSpan(0, 0, 0, 0, 200); }
public Enemy(Arkanoid game, PlayArena playArena, Sprite texture, Sprite dieTexture, Vector2 location, Direction direction = Direction.Down) : base(game) { PlayArena = playArena; Location = location; Texture = texture; DieTexture = dieTexture; Life = 1; Direction = direction; ChangeDirection = new TimeSpan(0, 0, 2); TimeToChangeDirection = TimeSpan.Zero; }
public MenuArena(Arkanoid game, BackGroundTypes?background = null) : base(game) { BackGround = background ?? RandomUtils.RandomEnum <BackGroundTypes>(); Levels.Levels.LoadWads(Game, Game.GraphicsDevice, Game.Content); Levels.Levels.UpdateCustom(Game); Demo = new TimeSpan(0, 0, 0, 30); Game.Sounds.IntroMusic.Play(); MenuItems = new[] { Textures.CmnStart, Textures.CmnEdit, Textures.CmnCredits, Textures.CmnExit }; foreach (var texture in MenuItems) { MenuHeight += texture.Height; } }
public MenuArenaSelector(Arkanoid game, bool twoPlayer, BackGroundTypes backGround) : base(game) { BackGround = backGround; TwoPlayer = twoPlayer; var menu = Levels.Levels.Wads.Select(wad => wad.Title).ToList(); menu.Add(Textures.CmnBack); MenuItems = menu.ToArray(); foreach (var texture in MenuItems) { MenuHeight += texture.Height; } }
public BlobEnemy(Arkanoid game, PlayArena playArena, Sprite texture, Sprite dieTexture, Vector2 location) : base(game, playArena, texture, dieTexture, location) { if (location.X < playArena.Center.X) { Motion = location.X < PlayArena.TopLeftEntry.Location.X ? new Vector2(1, 0) : new Vector2(-1, 0); } else { Motion = location.X > PlayArena.TopRightEntry.Location.X + PlayArena.TopRightEntry.Texture.Width ? new Vector2(-1, 0) : new Vector2(1, 0); } }
public static void LoadWads(Arkanoid game, GraphicsDevice graphicsDevice, ContentManager content) { ArkanoidWad = new LevelWad(game, "Arkanoid", content.Load <Texture2D>("Level/Arkanoid/Box.png"), content.Load <Texture2D>("Level/Arkanoid/Title.png"), ArkanoidLevels); ArkanoidDxWad = new LevelWad(game, "Arkanoid DX", content.Load <Texture2D>("Level/Arkanoid DX/Box.png"), content.Load <Texture2D>("Level/Arkanoid DX/Title.png"), ArkanoidDxLevels); RevengeOfTheDohWad = new LevelWad(game, "Revenge Of The Doh", content.Load <Texture2D>("Level/Revenge Of The Doh/Box.png"), content.Load <Texture2D>("Level/Revenge Of The Doh/Title.png"), RevengeOfTheDohLevels); ArkanoidTournamentWad = new LevelWad(game, "Arkanoid Tournament", content.Load <Texture2D>("Level/Tournament/Box.png"), content.Load <Texture2D>("Level/Tournament/Title.png"), ArkanoidTournamentLevels); Wads = new List <LevelWad> { ArkanoidWad, ArkanoidDxWad, RevengeOfTheDohWad, ArkanoidTournamentWad }; }
public static List <Brick> GetLevelBrickMap(Arkanoid game, PlayArena playArena, Level map) { var by = map.BricksHigh; var bx = map.BricksWide; var bricks = new BrickTypes[by][]; var chances = new int[by][]; var powers = new CapsuleTypes[by][]; for (var y = 0; y < by; y++) { bricks[y] = new BrickTypes[bx]; chances[y] = new int[bx]; powers[y] = new CapsuleTypes[bx]; for (var x = 0; x < bx; x++) { BrickTypes bt; if (!Enum.TryParse(Enum.GetNames(typeof(BrickTypes))[map.GetBrickValue(y, x)], out bt)) { bt = BrickTypes.Empty; } bricks[y][x] = bt; CapsuleTypes p; if (!Enum.TryParse(Enum.GetNames(typeof(CapsuleTypes))[map.GetPowerValue(y, x)], out p)) { p = CapsuleTypes.Slow; //todo make random } bricks[y][x] = bt; chances[y][x] = map.GetChanceValue(y, x); powers[y][x] = p; } } var bm = new List <Brick>(); for (var y = 0; y < bricks.Length; y++) { for (var x = 0; x < bricks[y].Length; x++) { var b = bricks[y][x]; if (b != BrickTypes.Empty) { bm.Add(Types.GetBrick(b, game, playArena, GetBrickLocation(game, x, y), chances[y][x], powers[y][x])); } } } return(bm); }
public UnifiedInput(Arkanoid game) { Game = game; TapListeners = new List <Procedure <Vector2> >(); MoveListeners = new List <Procedure <Vector2> >(); DraggingListeners = new List <Operation <Vector2> >(); DraggedListeners = new List <Operation <Vector2> >(); Game.MouseInput.LeftClickListeners.Add(Tap); Game.MouseInput.MoveListeners.Add(Move); Game.MouseInput.DraggedListeners.Add(Dragged); Game.MouseInput.DraggingListeners.Add(Dragging); Game.TouchInput.TapListeners.Add(Tap); Game.TouchInput.MoveListeners.Add(Move); Game.TouchInput.DraggedListeners.Add(Dragged); Game.TouchInput.DraggingListeners.Add(Dragging); }
public CreditsArena(Arkanoid game, BackGroundTypes backGround) : base(game) { Show = new TimeSpan(0, 0, 0, 15); Credits = new List <string> { "Lead Developer", "Benjamin Tarrant", "I", "Creative Concepts and Levels", "Chloe Tarrant", "Jansen Tarrant", "Benjamin Tarrant", "I", "Deticated To", "Aurora and Ianeta Tarrant" }; }
public static void UpdateCustom(Arkanoid game) { var folder = AsyncIO.CreateFolderAsync(ApplicationData.Current.RoamingFolder, "Custom"); var files = AsyncIO.GetFilesAsync(folder).Where(f => f.Name.EndsWith(".level")); var levels = files.ToList(); if (levels.Count != 0) { var levelList = levels.Select( f => new KeyValuePair <Level, Level>(LevelIO.ReadLevel(AsyncIO.ReadTextFileAsync(f)), null)) .ToList(); var customWad = new LevelWad(game, "Custom", Textures.CmnTitle, Textures.CmnVerCustom, levelList); var ow = Wads.Find(p => p.Name == "Custom"); if (ow != null) { Wads.Remove(ow); } Wads.Add(customWad); } }
public Doh(Arkanoid game, PlayArena playArena) : base(game) { PlayArena = playArena; DohBdrRect = new Rectangle((int)(PlayArena.Bounds.Right - (Sprites.CmnDohBoarder.Width + Sprites.BgDoh.Width)), PlayArena.Bounds.Top, (int)Sprites.CmnDohBoarder.Width, (int)Sprites.CmnDohBoarder.Height); DohRect = new Rectangle((int)(DohBdrRect.Center.X - Sprites.EnmDoh.Center.X), (int)(Sprites.BgDoh.Height + PlayArena.Bounds.Top), (int)Sprites.EnmDoh.Width, (int)Sprites.EnmDoh.Height); Splinters = new List <DohSplinter>(); Life = MaxLife; DohState = DohState.CloseMouth; Texture.ToStart(); Texture.SetAnimation(AnimationState.Pause); Web.ToStart(); Web.SetAnimation(AnimationState.Pause); // Texture.OnFinish = AddSplinter; SetNextRelease(); Hit = 0f; }
public Brick(Arkanoid game, PlayArena playArena, Sprite texture, Sprite flash, Vector2 location, int score, int life, int chance, CapsuleTypes capsuleType) : base(game) { PlayArena = playArena; Texture = texture; FlashTexture = flash; Location = location; IsInvincible = life == -1 || life == -3 || life == -5 || life == -9; IsRegen = life == -2 || life == -7; IsTeleport = life == -3; IsTransmit = life == -8; IsHorizontalMoving = life == -9; IsSwap = life == -4 || life == -5 || life == -6; Regen = TimeSpan.Zero; Swap = IsTransmit ? new TimeSpan(0, 0, 0, Arkanoid.Random.Next(2, 6)) : new TimeSpan(0, 0, 0, 0, 500); Score = score; Life = life == -2 || life == -4 ? 2 : life == -6 || life == -8 ? 1 : life == -7 ? 4 : life; InitialLife = Life; Chance = chance; CapsuleType = capsuleType; }
public BaseArena(Arkanoid game) { Game = game; TopLeftEntry = new TopEntry(Game, new Vector2(Sprites.FrmCorner.Width + Sprites.FrmTopOpen.Width, 0)); TopRightEntry = new TopEntry(Game, new Vector2( Game.FrameArea.Width - (Sprites.FrmCorner.Width + Sprites.FrmTopOpen.Width * 2), 0)); SideLeftTopEntry = new SideEntry(Game, new Vector2(0, Sprites.FrmCorner.Height), false); SideLeftMidEntry = new SideEntry(Game, new Vector2(0, Game.FrameArea.Height / 2f - Sprites.FrmSideWarp.Height / 2), false); SideRightTopEntry = new SideEntry(Game, new Vector2(Game.FrameArea.Width - Sprites.FrmSideOpen.Width, Sprites.FrmCorner.Height), true); SideRightMidEntry = new SideEntry(Game, new Vector2(Game.FrameArea.Width - Sprites.FrmSideOpen.Width, Game.FrameArea.Height / 2f - Sprites.FrmSideWarp.Height / 2), true); LeftWarp = new Warp(new Vector2(0, Game.FrameArea.Height - Sprites.FrmSideWarp.Height * 2), false); RightWarp = new Warp(new Vector2(Game.FrameArea.Width - Sprites.FrmSideWarp.Width, Game.FrameArea.Height - Sprites.FrmSideWarp.Height * 2), true); Fade = new Fader(true, true); }
public LoadArena(Arkanoid game, LevelWad wad, BackGroundTypes backGround, bool twoPlayer) : base(game) { TwoPlayer = twoPlayer; BackGround = backGround; Wad = wad; LevelNumber = game.Settings.Unlocks.ContainsKey(wad.Name) ? game.Settings.Unlocks[wad.Name].LevelScores.Count : 0; MaxLevel = LevelNumber; LeftLevelOffset = new Vector2(Bounds.Center.X - (Textures.CmnSmallFrameCustom.Width + 20), Bounds.Center.Y - Textures.CmnSmallFrameCustom.Height / 2f); RightLevelOffset = new Vector2(Bounds.Center.X, LeftLevelOffset.Y); RightButton = new Vector2(RightLevelOffset.X + (Textures.CmnSmallFrame.Width + 20), LeftLevelOffset.Y - Textures.CmnRight.Height + Textures.CmnSmallFrame.Height / 2f); LeftButton = new Vector2(LeftLevelOffset.X - (Textures.CmnLeft.Width + 20), LeftLevelOffset.Y - Textures.CmnLeft.Height + Textures.CmnSmallFrame.Height / 2f); ExitOffset = new Vector2(Bounds.Center.X - Textures.CmnBack.Width / 2f, LeftLevelOffset.Y + Textures.CmnSmallFrame.Height + 20); TitleOffset = new Vector2(Bounds.Center.X - wad.Title.Width / 2f, LeftLevelOffset.Y - (wad.Title.Height + 20)); Left = wad.Levels[LevelNumber].Key != null; }
public KeyboardInput(Arkanoid game, Color oskColor, float oskAlpha, bool visible) { Game = game; Typed = new List <string>(); _oskShowHide = new Tween(new TimeSpan(0, 0, 0, 0, 500), 1, 0); _oskShowHide.Finish(); _oskButtonHits = new List <OskButton>(); OskAlpha = oskAlpha; OskColor = oskColor; _oskVisible = visible; _oskLower = Game.Content.Load <Texture2D>(@"OSK\OSKLC"); _oskUpper = Game.Content.Load <Texture2D>(@"OSK\OSKUC"); _oskFrame = Game.Content.Load <Texture2D>(@"OSK\OSKF"); _oskUnShift = Game.Content.Load <Texture2D>(@"OSK\OSKUSFT"); _oskShift = Game.Content.Load <Texture2D>(@"OSK\OSKSFT"); OskAlignment = AlignmentX.Center; _oskRects = new Dictionary <Keys, Rectangle> { { Keys.Escape, new Rectangle(3, 5, 53, 45) }, { Keys.NumPad1, new Rectangle(58, 5, 33, 45) }, { Keys.NumPad2, new Rectangle(94, 5, 33, 45) }, { Keys.NumPad3, new Rectangle(130, 5, 33, 45) }, { Keys.NumPad4, new Rectangle(166, 5, 33, 45) }, { Keys.NumPad5, new Rectangle(200, 5, 33, 45) }, { Keys.NumPad6, new Rectangle(238, 5, 33, 45) }, { Keys.NumPad7, new Rectangle(274, 5, 33, 45) }, { Keys.NumPad8, new Rectangle(310, 5, 33, 45) }, { Keys.NumPad9, new Rectangle(346, 5, 33, 45) }, { Keys.NumPad0, new Rectangle(382, 5, 33, 45) }, // {Keys.D1, new Rectangle(58,5,33,45)}, // {Keys.D2, new Rectangle(94,5,33,45)}, // {Keys.D3, new Rectangle(130,5,33,45)}, // {Keys.D4, new Rectangle(166,5,33,45)}, // {Keys.D5, new Rectangle(200,5,33,45)}, // {Keys.D6, new Rectangle(238,5,33,45)}, // {Keys.D7, new Rectangle(274,5,33,45)}, // {Keys.D8, new Rectangle(310,5,33,45)}, // {Keys.D9, new Rectangle(346,5,33,45)}, // {Keys.D0, new Rectangle(382,5,33,45)}, { Keys.Back, new Rectangle(417, 5, 52, 45) }, { Keys.Tab, new Rectangle(4, 52, 51, 43) }, { Keys.Q, new Rectangle(58, 52, 33, 43) }, { Keys.W, new Rectangle(94, 52, 33, 43) }, { Keys.E, new Rectangle(130, 52, 33, 43) }, { Keys.R, new Rectangle(166, 52, 33, 43) }, { Keys.T, new Rectangle(200, 52, 33, 43) }, { Keys.Y, new Rectangle(238, 52, 33, 43) }, { Keys.U, new Rectangle(274, 52, 33, 43) }, { Keys.I, new Rectangle(310, 52, 33, 43) }, { Keys.O, new Rectangle(346, 52, 33, 43) }, { Keys.P, new Rectangle(382, 52, 33, 43) }, { Keys.Enter, new Rectangle(418, 52, 51, 89) }, { Keys.CapsLock, new Rectangle(4, 98, 51, 43) }, { Keys.A, new Rectangle(58, 98, 33, 43) }, { Keys.S, new Rectangle(94, 98, 33, 43) }, { Keys.D, new Rectangle(130, 98, 33, 43) }, { Keys.F, new Rectangle(166, 98, 33, 43) }, { Keys.G, new Rectangle(200, 98, 33, 43) }, { Keys.H, new Rectangle(238, 98, 33, 43) }, { Keys.J, new Rectangle(274, 98, 33, 43) }, { Keys.K, new Rectangle(310, 98, 33, 43) }, { Keys.L, new Rectangle(346, 98, 33, 43) }, { Keys.LeftShift, new Rectangle(3, 143, 53, 44) }, { Keys.Z, new Rectangle(58, 144, 33, 43) }, { Keys.X, new Rectangle(94, 144, 33, 43) }, { Keys.C, new Rectangle(130, 144, 33, 43) }, { Keys.V, new Rectangle(166, 144, 33, 43) }, { Keys.B, new Rectangle(200, 144, 33, 43) }, { Keys.N, new Rectangle(238, 144, 33, 43) }, { Keys.M, new Rectangle(274, 144, 33, 43) }, { Keys.OemQuotes, new Rectangle(382, 98, 33, 43) }, //" { Keys.OemComma, new Rectangle(310, 144, 33, 43) }, //; { Keys.OemPeriod, new Rectangle(346, 144, 33, 43) }, //: //{Keys.OemSemicolon, new Rectangle(346,52,33,43)}, SHIFT oemSemicolon { Keys.Up, new Rectangle(382, 144, 33, 43) }, { Keys.RightShift, new Rectangle(418, 143, 51, 44) }, { Keys.Space, new Rectangle(94, 190, 249, 43) }, { Keys.Left, new Rectangle(346, 190, 33, 43) }, { Keys.Down, new Rectangle(382, 190, 33, 43) }, { Keys.Right, new Rectangle(418, 190, 33, 43) } }; _keyboardListeners = new List <Procedure <KeyboardInput> >(); _taps = new List <Vector2>(); _oskCurrentState = new List <Keys>(); _oskPreviousState = new List <Keys>(); OskArea = new Rectangle((int)(Game.Center.X - _oskLower.Width / 2f), (int)Game.Height, _oskLower.Width, _oskLower.Height); }
public KeyboardInput(Arkanoid game) : this(game, Color.White, .75f, false) { }