protected override string UpdateAnimationState(Engine.Object o) { string anim = ""; if (o is Engine.Player) { var player = o as Engine.Player; anim = player.InAir ? "inAir" : "idle"; if (player.Death) { anim = "death"; } else if (player.Attacking) { anim = "attack"; } else if (!_inAir && player.InAir) { anim = "jumping"; } else if (_inAir && !player.InAir) { anim = "falling"; } else if (player.Velocity.Y == 0 && player.Velocity.X != 0) { anim = "walking"; } _inAir = player.InAir; } return(anim); }
protected override void AfterLastFrame(Engine.Object obj) { base.AfterLastFrame(obj); if (obj is Player) { switch (CurrentSprite.name) { case "jumping": SwitchTo("inAir"); break; case "inAir": CanUpdate = true; break; case "falling": CanUpdate = true; break; case "attack": CanUpdate = true; (obj as Player).Attacking = false; break; case "death": CanUpdate = false; CurrentFrame = 5; obj.World.GameMode.GameStateManager.SwitchTo("GSGameFinished"); break; } } }
public GridDungeon[,] LoadRandomDungeonRooms(Engine.Object parent, RandomDungeonGenerator generator) { var roomGrid = new GridDungeon[generator.Width / 20, generator.Height / 10]; char[,] charGrid = generator.Generate(); for (int x = 0; x < generator.Width / 20; x++) { char[,] tempCharGrid = new char[20, 10]; for (int y = 0; y < generator.Height / 10; y++) { for (int k = 0; k < 20; k++) { for (int j = 0; j < 10; j++) { tempCharGrid[k, j] = charGrid[x * 20 + k, y * 10 + j]; } } //create objectgrid and pass char[,], so it gets loaded into the grid var room = new GridDungeon("randomRoom", parent, tempCharGrid, 96, 96); //set the boundingBox room.BoundingBox = new Rectangle(0, 0, 20 * 96, 10 * 96); //add room to the correct place int the roomGrid roomGrid[x, y] = room; } } return(roomGrid); }
//------------------------------------------------------------------ public Drawable(Object root, Game game, string name) { this.root = root; Scale = Vector2.One; Visible = true; LoadTexture (game, name); }
private Engine.Object LoadEmptyCollisionBlock() { var obj = new Engine.Object("emptytile", this); obj.BoundingBox = new Rectangle(0, 0, 96, 96); obj.CanCollide = true; obj.CanBlock = true; return(obj); }
public override void OnCollision(Engine.Object collider) { base.OnCollision(collider); if (collider is DestructableObject) { if ((collider as DestructableObject).Type == "SuperJump") { collider.Visible = false; collider.CanCollide = false; World.Remove(collider); } } }
public override void UpdateAnimationState(Engine.Object obj) { animation tempAnim = _animation; if (obj is Terror) { Terror zombie = obj as Terror; _animation = obj.VelocityX > zombie.WalkSpeed || obj.VelocityX < -zombie.WalkSpeed ? animation.RUNNING : animation.WALKING; } if (tempAnim != _animation) { SetupAnimation(obj); } Mirrored = obj.Velocity.X < 0 ? false : true; }
public EnemyZombie(Engine.Object parent) : base("zombie", parent, new SpriteSheetZombie("Textures/Characters/IceZombie")) { _reactionRange = 400; _attackRange = 130; _sprintSpeed = 250; _walkSpeed = 25; _walkLeftBoundary = -96; _walkRightBoudary = 96; AttackSpeed = 2300; Health = 300; Damage = 75; Mass = 1.1f; SFXManager = new SFXZombie(this); _weapon = new Weapon("weapon", World, new SpriteSheet("Textures/Hud/TimerFrame"), this, Damage); World.Add(_weapon); BoundingBox = new Rectangle(0, 0, 64, 89); }
public override void SetupAnimation(Engine.Object obj) { if (obj is Terror) { Terror zombie = obj as Terror; base.SetupAnimation(obj); switch (_animation) { case animation.WALKING: ResetAnimation(0, 8, 300, 768); break; case animation.RUNNING: ResetAnimation(0, 8, 40, 768); break; } } }
public LoginPopUp(Engine.Object parent) : base("LoginPopUp", parent) { //create texturedObjects var backGround = new TexturedObject("background", this, new SpriteSheet("Textures/HUD/LoginPopUpWindow")); //set boundingBox equal to boundingBox of background BoundingBox = backGround.BoundingBox; //create textObjects var warningMessage = new TextObject("warningMessage", "Hud", this); warningMessage.Text = "Your account information is invalid"; warningMessage.Color = Microsoft.Xna.Framework.Color.Red; warningMessage.Position = new Microsoft.Xna.Framework.Vector2(31, 112); warningMessage.FitIntoRectangle(new Microsoft.Xna.Framework.Rectangle(0, 0, 230, 50)); warningMessage.Visible = false; //create textBoxes _userNameBox = new TextBox(this); _passWordBox = new TextBox(this); _userNameBox.Position = new Microsoft.Xna.Framework.Vector2(119, 138); _passWordBox.Position = new Microsoft.Xna.Framework.Vector2(119, 176); //create buttons var buttonLogin = new ButtonLogin(this, _userNameBox, _passWordBox, warningMessage); var buttonSignUp = new ButtonSignUp(this); buttonLogin.Position = new Microsoft.Xna.Framework.Vector2(193, 228); buttonSignUp.Position = new Microsoft.Xna.Framework.Vector2(193, 338); //add Objects Add(backGround); Add(warningMessage); Add(_userNameBox); Add(_passWordBox); Add(buttonLogin); Add(buttonSignUp); }
public Overworld(string id, Engine.Object parent, string assetName, int tileSize) : base(id, parent, assetName, tileSize) { }
public HighScorePopUp(Engine.Object parent, int oldHighScore, int newHighScore) : base("highScorePopUp", parent) { //create background var backGround = new TexturedObject("background", this, new SpriteSheet("Textures/HUD/HighScorePopUpWindow")); //set boundingbox to boundingbox of background BoundingBox = backGround.BoundingBox; //create TextObjects var oldScore = new TextObject("oldHighScore", "Hud", this); oldScore.Text = oldHighScore.ToString(); oldScore.Color = new Color(124, 93, 72); oldScore.Position = new Vector2(160, 120); var newScore = new TextObject("newHighScore", "Hud", this); newScore.Text = newHighScore.ToString(); newScore.Color = new Color(124, 93, 72); newScore.Position = new Vector2(160, 305); var totalDamageDealt = new TextObject("totalDamageDealt", "Hud", this); totalDamageDealt.Text = HighScoreManager.TotalDamageDealt.ToString(); totalDamageDealt.Color = new Color(124, 93, 72); totalDamageDealt.Position = new Vector2(160, 175); totalDamageDealt.Scale = 0.6f; var totalDamageTaken = new TextObject("totalDamageTaken", "Hud", this); totalDamageTaken.Text = HighScoreManager.TotalDamageTaken.ToString(); totalDamageTaken.Color = new Color(124, 93, 72); totalDamageTaken.Position = new Vector2(160, 202); totalDamageTaken.Scale = 0.6f; var time = new TextObject("time", "Hud", this); time.Text = GameModeManager.TimeManager.TotalSeconds.ToString(); time.Scale = 0.6f; time.Color = new Color(124, 93, 72); time.Position = new Vector2(160, 230); var finished = new TextObject("finished", "Hud", this); finished.Text = World.Player.Death ? "no" : "yes"; finished.Scale = 0.6f; finished.Color = new Color(124, 93, 72); finished.Position = new Vector2(160, 255); //create buttons var buttonContinue = new ButtonContinue(this, "GSMainMenu"); buttonContinue.Position = new Vector2(backGround.Width / 2 - buttonContinue.Width / 2, 350); //add objects Add(backGround); Add(buttonContinue); Add(oldScore); Add(newScore); Add(time); Add(finished); Add(totalDamageDealt); Add(totalDamageTaken); setupPossibleNewHighScore(oldHighScore, newHighScore); }
public GridDungeon(string id, Engine.Object parent, char[,] grid, int tileWidth, int tileHeight) : base(id, parent, grid, tileWidth, tileHeight) { CanCollide = true; }
public override void Update(GameTime gameTime, Engine.Object obj) { base.Update(gameTime, obj); }
//------------------------------------------------------------------ public Bounds(Object root, Vector2 position, Vector2 origin) : base(root) { Vector2 leftBottom = position - origin; rectangle = new Rectangle ((int) leftBottom.X, (int) leftBottom.Y, (int) (origin.X * 2), (int) (origin.Y * 2)); }
public WeaponPlayer(string id, Engine.Object parent, SpriteSheet spriteSheet, Character owner, int damage) : base(id, parent, spriteSheet, owner, damage) { }
public SFXItem(Engine.Object source) : base(source) { Add("itemPickup", getSFX("Item Pickup"), false); }
public WeaponThrowable(string id, Engine.Object parent, Engine.SpriteSheet spriteSheet, Engine.Object owner, int damage) : base(id, parent, spriteSheet, owner, damage) { }
public GridDungeon(string id, Engine.Object parent, string assetName, int tileSize, Vector2 position) : base(id, parent, assetName, tileSize, position) { }