public Snake(Vector2 position, int spriteIndex) : base(position, new Box(position, new Vector2(8, 8)), spriteIndex) { // // Add animator // var anim = new P8TopDownAnimator(P8TopDownAnimator.AnimationMode.SIDES_ONLY); anim.RunLeft = new SpriteAnimation(new P8Sprite(19), 2, 0.3f + (float)GameManager.random.NextDouble() * 0.3f); anim.IdleLeft = anim.RunLeft; anim.RunRight = new SpriteAnimation(new P8Sprite(19, 1, 1, true, false), 2, 0.3f + (float)GameManager.random.NextDouble() * 0.3f); anim.IdleRight = anim.RunRight; AddComponent(anim); // // Add physics // AddComponent(new TopDownPhysics(0, 0, 0.94f)); // // Adjust life time ( 1 hit kill ) // lifeTime = 5 + GameManager.random.NextDouble() * 5; AddComponent(new FillBar(new Vector2(0, -2), 8, 0, lifeTime)); }
public Goose(Vector2 position, int spriteIndex) : base(position, new Box(position, new Vector2(8, 8)), spriteIndex) { gooseStateMachine = new GooseStateMachine(this); List <P8Sprite> spriteListLeft = new List <P8Sprite>(); spriteListLeft.Add(new P8StrechedSprite(42, 12, 8)); spriteListLeft.Add(new P8StrechedSprite(92, 16, 12, 8)); spriteListLeft.Add(new P8StrechedSprite(58, 12, 8)); spriteListLeft.Add(new P8StrechedSprite(92, 24, 12, 8)); List <P8Sprite> spriteListRight = new List <P8Sprite>(); spriteListRight.Add(new P8StrechedSprite(42, 12, 8, 12, 8, true, false)); spriteListRight.Add(new P8StrechedSprite(92, 16, 12, 8, 12, 8, true, false)); spriteListRight.Add(new P8StrechedSprite(58, 12, 8, 12, 8, true, false)); spriteListRight.Add(new P8StrechedSprite(92, 24, 12, 8, 12, 8, true, false)); var anim = new P8TopDownAnimator(P8TopDownAnimator.AnimationMode.SIDES_ONLY); anim.RunLeft = new SpriteAnimation(spriteListLeft, 0.1f); anim.IdleLeft = new SpriteAnimation(new List <P8Sprite>() { new P8StrechedSprite(104, 22, 10, 10) }, 0); anim.RunRight = new SpriteAnimation(spriteListRight, 0.1f); anim.IdleRight = new SpriteAnimation(new List <P8Sprite>() { new P8StrechedSprite(104, 22, 10, 10, 10, 10, true, false) }, 0); AddComponent(anim); AddComponent(new TopDownPhysics(15, 5, 0.9999f)); doesDamage = false; AddComponent(new FillBar(new Vector2(0, -2), 8, 0, lifeTime)); var newTags = tags; newTags.Remove("enemy"); tags = newTags; }
public OldMan(Vector2 position, int spritePosition, List <string> messages) : base(position, new Box(position, new Vector2(8, 8)), spritePosition) { AddComponent(new TopDownPhysics(0, 0, 0.95f)); var graphics = new P8TopDownAnimator(P8TopDownAnimator.AnimationMode.SIDES_ONLY); AddComponent(graphics); graphics.RunLeft = new SpriteAnimation(new P8Sprite(0, 1, 1, true, false), 3, 0.4f); graphics.IdleLeft = graphics.RunLeft; graphics.RunRight = new SpriteAnimation(new P8Sprite(0, 1, 1, false, false), 3, 0.4f); graphics.IdleRight = graphics.RunRight; doesDamage = false; if (messages != null && messages.Count != 0) { var dialoguePos = position - new Vector2(8, 0); GameObjectManager.AddObject(new DialogueArea(dialoguePos, new Box(dialoguePos, new Vector2(24, 16)), this, messages)); } }
public Tortuga(Vector2 position, int spriteIndex) : base(position, new Box(position, new Vector2(8, 8)), spriteIndex) { AddComponent(new TopDownPhysics(10, 10)); var anim = new P8TopDownAnimator(P8TopDownAnimator.AnimationMode.SIDES_ONLY); anim.RunRight = new SpriteAnimation(new P8Sprite(22), 4, _animationLength); anim.IdleRight = new SpriteAnimation(new P8Sprite(21), 1, _animationLength); anim.RunLeft = new SpriteAnimation(new P8Sprite(22, 1, 1, true, false), 4, _animationLength); anim.IdleLeft = new SpriteAnimation(new P8Sprite(21, 1, 1, true, false), 1, _animationLength); AddComponent(anim); _tortugaStateMachine = new TortugaStateMachine(this); _tortugaStateMachine.Init(TortugaStates.Wondering); lifeTime = 200; }
public Blob(Vector2 position, int spriteIndex) : base(position, new Box(position, new Vector2(7, 4), false, new Vector2(0, 4)), spriteIndex) { var physics = new TopDownPhysics(baseSpeed, baseSpeed / 2, 0.97f); AddComponent(physics); var anim = new P8TopDownAnimator(P8TopDownAnimator.AnimationMode.SIDES_ONLY); anim.RunLeft = new SpriteAnimation(new P8Sprite(7), 3, 0.3f); anim.RunRight = anim.RunLeft; anim.IdleLeft = new SpriteAnimation(new P8Sprite(7), 1, 0.3f); anim.IdleRight = anim.IdleLeft; AddComponent(anim); targetPosition = Vector2.Zero; InitState("Still"); AddComponent(new FillBar(new Vector2(0, -2), 8, 0, lifeTime)); }