// Combine skin mod XML with a vanilla sprite bank private void CombineSpriteBanks(SpriteBank origBank, string skinId, string xmlPath) { SpriteBank newBank = BuildBank(origBank, xmlPath); if (newBank == null) { return; } // For each overridden sprite, patch it and add it to the original bank with a unique identifier foreach (KeyValuePair <string, SpriteData> spriteDataEntry in newBank.SpriteData) { string spriteId = spriteDataEntry.Key; SpriteData newSpriteData = spriteDataEntry.Value; if (origBank.SpriteData.TryGetValue(spriteId, out SpriteData origSpriteData)) { PatchSprite(origSpriteData.Sprite, newSpriteData.Sprite); string newSpriteId = spriteId + "_" + skinId; origBank.SpriteData[newSpriteId] = newSpriteData; // Build hair! if (spritesWithHair.Contains(spriteId)) { PlayerSprite.CreateFramesMetadata(newSpriteId); } } } }
public override void LoadContent() { background = LoadTexture(@"Sprites/Backgrounds/background"); pause = LoadTexture(@"Sprites/Backgrounds/pause"); Texture2D texPlayerIdle = LoadTexture(@"Sprites/Player/Idle"); Texture2D texPlayerRun = LoadTexture(@"Sprites/Player/Run"); Texture2D texPlayerJump = LoadTexture(@"Sprites/Player/Jump"); diamond = LoadTexture(@"Sprites/diamond"); gem = LoadTexture(@"Sprites/gem"); player = new PlayerSprite(texPlayerIdle, 1, 1, new Vector2(200, 342), new Vector2(3, 3), 1, texPlayerRun, 1, 10, 10); player.SetJumpingAnimation(texPlayerJump, 1, 11, 11, 75); #region Setting Player sound effects SoundEffect jumpSoundEffect = Load <SoundEffect>(@"Audio/jumping"); SoundEffect coinSoundEffect = Load <SoundEffect>(@"Audio/coin"); SoundEffect hurtSoundEffect = Load <SoundEffect>(@"Audio/hurt"); player.SetJumpSoundEffect(jumpSoundEffect); player.SetCoinSoundEffect(coinSoundEffect); player.SetHurtSoundEffect(hurtSoundEffect); #endregion font = Load <SpriteFont>(@"Fonts/Arial8"); // Loading enemies textures for (int i = 0; i < 10; i++) { texEnnemies.Add(LoadTexture(String.Format(@"Sprites/Ennemies/{0}", i))); } // Initial Spawn Spawn(); }
Vector3 GetStartPosition(PlayerSprite player) { switch (player) { case PlayerSprite.PVP1: return(_PVP1StartPosition); case PlayerSprite.PVP2: return(_PVP2StartPosition); case PlayerSprite.PVE1: return(_PVE1StartPosition); case PlayerSprite.PVE2: return(_PVE2StartPosition); case PlayerSprite.PVE3: return(_PVE3StartPosition); case PlayerSprite.PVE4: return(_PVE4StartPosition); default: return(Vector3.zero); } }
public void update(PlayerSprite player) { if (PlayerState.SWIM_RIGHT) { player.dx = Mathf.Min(player.dx + PlayerState.ACCEL, PlayerState.MAX_SPEED); } if (PlayerState.SWIM_LEFT) { player.dx = Mathf.Max(player.dx - PlayerState.ACCEL, PlayerState.MAX_SPEED * -1); } if (player.x > 0.0f) { player.x = Mathf.Min(Futile.screen.halfWidth, player.x + player.dx); } else { player.x = Mathf.Max(-Futile.screen.halfWidth, player.x + player.dx); } player.dx *= Options.DAMP; player.dy = Mathf.Max(player.dy - PlayerState.ACCEL, PlayerState.MAX_SPEED * -1); PlayerState.DEPTH += Mathf.Abs(player.dy) / 10.0f; }
public override void LoadContent() { _missileTexture = LoadTexture(MissileTexture); _exhaustTexture = LoadTexture(ExhaustTexture); _bulletTexture = LoadTexture(BulletTexture); _explosionTexture = LoadTexture(ExplosionTexture); _chopperTexture = LoadTexture(ChopperTexture); _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter)); _livesText = new LivesText(LoadFont(TextFont)); _livesText.NbLives = StartingPlayerLives; _livesText.Position = new Vector2(10.0f, 690.0f); AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture))); AddGameObject(_livesText); // load sound effects and register in the sound manager var bulletSound = LoadSound(BulletSound); var missileSound = LoadSound(MissileSound); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f); // load soundtracks into sound manager var track1 = LoadSound(Soundtrack1).CreateInstance(); var track2 = LoadSound(Soundtrack2).CreateInstance(); _soundManager.SetSoundtrack(new List <SoundEffectInstance>() { track1, track2 }); ResetGame(); }
void Start() { lightCircle.intensity = 2; int playerIndex = PlayerPrefs.GetInt("PlayerIndex", 1); rb = GetComponent <Rigidbody2D>(); PlayerSprite.ChangeSprite(gameObject, playerIndex); if (playerIndex == 0) { lightCircle.color = new Color(0.5f, 0.5f, 0.2f, 1.0f); pointLight.color = new Color(0.5f, 0.5f, 0.2f, 1.0f); } if (playerIndex == 1) { lightCircle.color = new Color(0.2f, 0.3f, 1.0f, 1.0f); pointLight.color = new Color(0.2f, 0.5f, 1.0f, 1.0f); } else if (playerIndex == 2) { GameObject bow = Resources.Load <GameObject>("Bow"); GameObject bowCopy = Instantiate(bow, transform.position, Quaternion.identity); bowCopy.GetComponent <Bow>().player = transform; lightCircle.color = new Color(0.5f, 0.2f, 1.0f, 1.0f); pointLight.color = new Color(0.5f, 0.2f, 1.0f, 1.0f); } if (isUnderWater) { GameObject dive = Resources.Load <GameObject>("Dive"); GameObject diveCopy = Instantiate(dive, transform.position, Quaternion.identity); diveCopy.GetComponent <Dive>().player = transform; } }
public static EventChangeSprite c(PlayerSprite newSprite) { return(new EventChangeSprite() { spriteIndex = newSprite }); }
public override void LoadContent() { _missileTexture = LoadTexture(MissileTexture); _exhaustTexture = LoadTexture(ExhaustTexture); _bulletTexture = LoadTexture(BulletTexture); _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter)); _bulletList = new List <BulletSprite>(); _missileList = new List <MissileSprite>(); AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture))); AddGameObject(_playerSprite); // position the player in the middle of the screen, at the bottom, leaving a slight gap at the bottom var playerXPos = _viewportWidth / 2 - _playerSprite.Width / 2; var playerYPos = _viewportHeight - _playerSprite.Height - 30; _playerSprite.Position = new Vector2(playerXPos, playerYPos); // load sound effects and register in the sound manager var bulletSound = LoadSound("bulletSound"); var missileSound = LoadSound("missileSound"); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f); // load soundtracks into sound manager var track1 = LoadSound("FutureAmbient_1").CreateInstance(); var track2 = LoadSound("FutureAmbient_2").CreateInstance(); _soundManager.SetSoundtrack(new List <SoundEffectInstance>() { track1, track2 }); }
private static void RenderHairPlayerOutline(PlayerHair self) { PlayerSprite sprite = self.GetSprite(); if (!self.DrawPlayerSpriteOutline) { return; } Vector2 origin = sprite.Position; Color color = sprite.Color; sprite.Color = self.Border * self.Alpha; sprite.Position = origin + new Vector2(0f, -1f); sprite.Render(); sprite.Position = origin + new Vector2(0f, 1f); sprite.Render(); sprite.Position = origin + new Vector2(-1f, 0f); sprite.Render(); sprite.Position = origin + new Vector2(1f, 0f); sprite.Render(); sprite.Color = color; sprite.Position = origin; }
public override void LoadContent() { _missileTexture = LoadTexture(MissileTexture); _exhaustTexture = LoadTexture(ExhaustTexture); _bulletTexture = LoadTexture(BulletTexture); _explosionTexture = LoadTexture(ExplosionTexture); _chopperTexture = LoadTexture(ChopperTexture); _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter)); AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture))); // load sound effects and register in the sound manager var bulletSound = LoadSound("bulletSound"); var missileSound = LoadSound("missileSound"); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound); _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f); // load soundtracks into sound manager var track1 = LoadSound("FutureAmbient_1").CreateInstance(); var track2 = LoadSound("FutureAmbient_2").CreateInstance(); _soundManager.SetSoundtrack(new List <SoundEffectInstance>() { track1, track2 }); ResetGame(); }
public SummaryState(Game game) : base(game) { state = new LocalState(); state = LocalState.WalkIn; sprites = new PlayerSprite[game.Players.Length]; for (int i = 0; i < sprites.Length; i++) { sprites[i] = new PlayerSprite(game); sprites[i].X = game.Width + (Graphics.PLAYERWIDTH * 2) * i; sprites[i].Y = game.Height - Graphics.PLAYERHEIGHT - SCREENBUFFER - VERTICALBUFFER; sprites[i].Speed = 3.5; sprites[i].StartAnimation(); sprites[i].ChangeDirection(SpriteDirection.W); } playerReady = new bool[sprites.Length]; for (int i = 0; i < playerReady.Length; i++) { playerReady[i] = game.Players[i].AI; } game.Sound.PlaySound(Sounds.IntroMusic, 64); stateTimer.Change(500, 1); }
// Use this for initialization void Awake() { rigid = GetComponentInParent <Rigidbody>(); col = this.GetComponent <Collider>(); playerState = GetComponentInParent <PlayerState>(); playerInventory = GetComponentInParent <PlayerInventory>(); playerSprite = GetComponentInParent <PlayerSprite>(); }
public AnimatedPlayerSprite(PlayerSprite sprite) { this.sprite = sprite; Anchor = Anchor.Centre; Origin = Anchor.Centre; RelativeSizeAxes = Axes.Both; }
void Start() { hasKey = false; gateObject = GameObject.FindGameObjectWithTag("Finish"); playerSprite = GetComponent <PlayerSprite>(); exclamation = GetComponentInChildren <ExclamationPoint>(); walkSound = GetComponent <AudioSource>(); }
// Load graphics content for the game public override void Activate() { if (this._content == null) { this._content = new ContentManager(ScreenManager.Game.Services, "Content"); } Vector2 position = new Vector2(_random.Next(0, 10), _random.Next(0, 10)); System.Random random = new System.Random(); _bangers = _content.Load <SpriteFont>("bangers"); _deathSound = _content.Load <SoundEffect>("DeathAudio"); _movementSound = _content.Load <SoundEffect>("Movement"); _backgroundMusic = _content.Load <Song>("BackgroundMusic"); _background = _content.Load <Texture2D>("ScrollingBackground"); _highScore = HighScores.HighScoreArr[HighScores.Difficulty]; if (HighScores.Difficulty == 0) { _obstacleCount = 5; } else if (HighScores.Difficulty == 1) { _obstacleCount = 9; } else { _obstacleCount = 12; } _playerSprite = new PlayerSprite(ScreenManager.GraphicsDevice, _movementSound); _obstacles = new ObstacleSprite[_obstacleCount]; for (int i = 0; i < _obstacleCount; i++) { Vector2 velocity = new Vector2((float)random.NextDouble(), (float)random.NextDouble()); velocity.Normalize(); velocity *= 200; _obstacles[i] = new ObstacleSprite(velocity, new Vector2(_random.Next(200), _random.Next(200)), ScreenManager.GraphicsDevice, ScreenManager.Game); } _playerSprite.LoadContent(_content); foreach (var obstacle in _obstacles) { obstacle.LoadContent(_content); } MediaPlayer.IsRepeating = true; MediaPlayer.Play(_backgroundMusic); _timer = new Stopwatch(); _timer.Start(); // once the load has finished, we use ResetElapsedTime to tell the game's // timing mechanism that we have just finished a very long frame, and that // it should not try to catch up. ScreenManager.Game.ResetElapsedTime(); }
private void onNewResult(DrawableHitObject judgedObject, JudgementResult result) { DrawableRushHitObject rushJudgedObject = (DrawableRushHitObject)judgedObject; RushJudgementResult rushResult = (RushJudgementResult)result; PlayerSprite.HandleResult(rushJudgedObject, result); // Display hit explosions for objects that allow it. if (result.IsHit && rushJudgedObject.DisplayExplosion) { Drawable explosion = rushJudgedObject switch { DrawableStarSheetHead head => sheetExplosionPool.Get(s => s.Apply(head)), DrawableStarSheetTail tail => sheetExplosionPool.Get(s => s.Apply(tail)), DrawableHeart heart => heartExplosionPool.Get(h => h.Apply(heart)), _ => explosionPool.Get(h => h.Apply(rushJudgedObject)), }; if (rushJudgedObject is IDrawableLanedHit laned) { playfieldForLane(laned.Lane).AddExplosion(explosion); } } // Display health point difference if the judgement result implies it. var pointDifference = rushResult.Judgement.HealthPointIncreaseFor(rushResult); if (pointDifference != 0) { overPlayerEffectsContainer.Add(healthTextPool.Get(h => h.Apply(pointDifference))); } // Display judgement results in a drawable for objects that allow it. if (rushJudgedObject.DisplayResult) { DrawableRushJudgement judgementDrawable = judgementPool.Get(j => j.Apply(result, judgedObject)); LanedHitLane judgementLane = LanedHitLane.Air; // TODO: showing judgements based on the judged object suggests that // this may want to be inside the object class as well. switch (rushJudgedObject.HitObject) { case Sawblade sawblade: judgementLane = sawblade.Lane.Opposite(); break; case LanedHit lanedHit: judgementLane = lanedHit.Lane; break; case MiniBoss _: break; } playfieldForLane(judgementLane).AddJudgement(judgementDrawable); } }
public void Draw(RenderTarget target, RenderStates states) { float _temp = statemachine.CurrentState.Animation.PixelSize; PlayerSprite.Origin = new Vector2f(_temp / 2, _temp / 2); PlayerSprite.Position = Vector2fExtensions.toVector2f(body.Position); PlayerSprite.Rotation = MathHelper.ToDegrees(body.Rotation); PlayerSprite.Draw(target, states); }
public bool OnPressed(RushAction action) { if (action == RushAction.Fever) { return(feverProcessor.TryActivateFever()); } return(PlayerSprite.HandleAction(action)); }
// constructor using reference public GamePlayer(GamePlayer reference) { if (reference != null) { playerSymbol = reference.playerSymbol; playerType = reference.playerType; playerSprite = reference.playerSprite; } }
public void addPlayer(GameState gs) { GameObject go = Instantiate(Resources.Load <GameObject>("player_sprite")); p = go.GetComponent <PlayerSprite>(); p.transform.localPosition = new Vector2(5f, 5f); p.setGameState(gs); go.transform.SetParent(this.transform); }
// when constructing the player set the sprite to the one we need (needs resetting) internal static void PlayerSprite(On.Celeste.PlayerSprite.orig_ctor orig, PlayerSprite self, PlayerSpriteMode mode) { // code stolen from max (extended variant mode) if (mode == PlayerSpriteMode.Madeline || mode == PlayerSpriteMode.MadelineNoBackpack) { mode = GetMode(EmoteModMain.Settings.Backpack, mode); } orig(self, mode); }
private void ChangeNextPlayer() { if (BoardManager.Instance.Board.CurrentPlayer.playerSprite != currentPlayer) { currentPlayer = BoardManager.Instance.Board.CurrentPlayer.playerSprite; nextPlayerImage.sprite = currentPlayer.sprite; nextPlayerImage.color = currentPlayer.color; nextPlayerAnimator.SetTrigger("tilt"); } }
public override void LoadContent() { var exhaustPosition = new Vector2(_viewportWidth / 2, _viewportHeight / 2); _exhaustEmitter = new ExhaustEmitter(LoadTexture(ExhaustTexture), exhaustPosition); AddGameObject(_exhaustEmitter); _player = new PlayerSprite(LoadTexture(PlayerFighter)); _player.Position = new Vector2(500, 500); AddGameObject(_player); }
public void ChooseNewVictim() { if (UnityEngine.Random.Range(0, 2) == 1) { _victim = PlayerSprite.PVP1; } else { _victim = PlayerSprite.PVP2; } }
public SpriteRenderer GetRendererByPart(PlayerPart part) { PlayerSprite ps = GetPlayerSprite(part); if (ps != null) { return(ps.GetRenderer()); } return(null); }
public Animator GetAnimatorByPart(PlayerPart part) { PlayerSprite ps = GetPlayerSprite(part); if (ps != null) { return(ps.GetAnimator()); } return(null); }
public void SetKeyCode(KeyCode keyCode, PlayerSprite sprite) { PlayHurtSound(); playerSprite = sprite; headRenderer.sprite = sprite.headNormal; headRenderer.transform.localPosition = sprite.headNormalOffsett; armRenderer.sprite = sprite.arm; bodyRenderer.sprite = sprite.body; fistRenderer.sprite = sprite.fist; playerKey = keyCode; keyCodeText.text = KeyCodeToString(keyCode); }
public void should_update_main_palette() { var file = File.ReadAllBytes("data\\orb.new.zspr"); var s = new PlayerSprite(file); var c = Color.FromArgb(0, 0, 0); Assert.NotEqual(c, s.Palette[0]); s.GreenMailPalette[1] = c; Assert.Equal(c, s.Palette[0]); }
/// <summary> /// This is a Sprite that can be controlled by a /// player using Rotate Left = A, Rotate Right = D, /// Forward = Space /// </summary> private void SetupSpaceShip() { Texture2D ship = Content.Load <Texture2D>( "images/GreenShip"); shipSprite = new PlayerSprite(ship, 200, 500) { Direction = new Vector2(1, 0), Speed = 200, DirectionControl = DirectionControl.Rotational }; }
public override void LoadContent() { var viewportAdapter = new DefaultViewportAdapter(_graphicsDevice); _camera = new OrthographicCamera(viewportAdapter); _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter), LoadAnimation(PlayerAnimationTurnLeft), LoadAnimation(PlayerAnimationTurnRight)); _playerSprite.Position = new Vector2(0, 0); }
public CharacterSelectionScreen(Game game) : base(game) { // select Resource services spriteBatch = ResourceManager.GetInstance.spriteBatch; Content = ResourceManager.GetInstance.Content; // select spritefont playerNameFont = Content.Load<SpriteFont>(@"font\Arial_12px"); // define components bgcomp1 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\background1")); bgcomp2 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\character_selection")); bgcomp3 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\frame2")); menu = new MenuComponent(game, Content.Load<SpriteFont>(@"font\Comic_Sans_18px")); // add components Components.Add(bgcomp1); Components.Add(bgcomp2); Components.Add(bgcomp3); // menu options menu.SetMenuItems(menuItems); menu.StartIndex = 0; menu.Position = new Vector2(665, 230); menu.NormalColor = Color.White; menu.HiliteColor = Color.Red; menu.MenuItemSpace = 25; menu.Rotation[2] = 0.25f; menu.Offset[2] = new Vector2(0, -5); menu.Offset[3] = new Vector2(-8, 23); menu.Offset[4] = new Vector2(-526, -22); menu.EndIndex = 3; // player sprite playersprite = new PlayerSprite(100, 123); player = new PlayerInfo(); playersprite.Player = this.player; // player offsets for (int i = 0; i < 6; i++) this.spriteOfset[i] = playersprite.getoffset(i); // options option_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\option_board"); screen_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\next_board"); // slots slot = Content.Load<Texture2D>(@"gfx\screens\screenobjects\empty_character_slot"); }
//private Animator animator; void Start() { playerPhysics = GetComponent<PlayerPhysics>(); //animator = GetComponent<Animator>(); sprite = GetComponentInChildren<PlayerSprite>(); entity = GetComponentInChildren<Entity>(); lastVelocity = Vector3.zero; lastCheckpoint = transform.position; //animator.SetLayerWeight(1,1); base.Start(); }
public CharacterCreationScreen(Game game) : base(game) { spriteBatch = (SpriteBatch)Game.Services.GetService(typeof(SpriteBatch)); Content = (ContentManager)Game.Services.GetService(typeof(ContentManager)); smallFont = Content.Load<SpriteFont>(@"font\Arial_10px"); spriteFont = Content.Load<SpriteFont>(@"font\Arial_12px"); keyboardiput = new KeyboardInput(game, spriteFont, new Vector2(580, 175)); bgcomp[1] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\background2")); bgcomp[2] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\character_create")); bgcomp[3] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\frame2")); Components.Add(bgcomp[1]); Components.Add(bgcomp[2]); Components.Add(bgcomp[3]); for (int i = 0; i <= properties.Length -1; i++) { properties[i] = new MenuComponent(game, Content.Load<SpriteFont>(@"font\Arial_12px")); properties[i].StartIndex = 0; properties[i].Position = new Vector2(180, 140 + (i * 24)); properties[i].HiliteColor = Color.Black; properties[i].Shade = false; properties[i].DisplaySingle = true; properties[i].ListDown = false; } properties[0].SetMenuItems(item0); properties[1].SetMenuItems(item1); properties[2].SetMenuItems(item2); properties[3].SetMenuItems(item3); properties[4].SetMenuItems(item4); properties[5].SetMenuItems(item5); nameboard = Content.Load<Texture2D>(@"gfx\screens\screenobjects\character_nameboard"); propertyboard = Content.Load<Texture2D>(@"gfx\screens\screenobjects\character_properties"); // Create player info instance // newPlayer = new PlayerInfo(); // Activate Text Input Class (for PlayerName) // keyboardiput.Activate(newPlayer.Name.ToString()); // Set Phase to Name phase = Phase.Name; // player sprite playersprite = new PlayerSprite(352, 188); }
public void LoadObjects() { //map = Map.Load(Path.Combine(Content.RootDirectory, @"maps\victoria01.tmx"), Content); map = Map.Load(Path.Combine(Content.RootDirectory, @"maps\henesys.tmx"), Content); foreach (var property in map.Properties) { if (property.Key == "Background") Background = Content.Load<Texture2D>(@"gfx\background\" + property.Value); } playerSprite = new PlayerSprite( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y //new Vector2(map.TileWidth, map.TileHeight) ); listEntity.Add(playerSprite); LoadEntities(); }
public void ChangeJobClass(PlayerInfo activePlayer) { // Remove Current Player for (int i = 0; i < listEntity.Count; i++) if (listEntity[i] is PlayerSprite) listEntity.Remove(listEntity[i]); // Switch playerSprite switch (activePlayer.Jobclass) { case "Bowman": playerSprite = new Bowman( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Warrior": playerSprite = new Warrior( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Magician": playerSprite = new Magician( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Thief": playerSprite = new Thief( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; case "Pirate": playerSprite = new Pirate( (int)map.ObjectGroups["Hero"].Objects["hero"].X, (int)map.ObjectGroups["Hero"].Objects["hero"].Y, new Vector2(map.TileWidth, map.TileHeight)); break; default: break; } // Add new player Instance to worldmap listEntity.Add(playerSprite); }