public GameObject(Vector2 spritePosition, string textureName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) { Tuple <Texture, List <Animation> > ss = GfxManager.GetSpritesheet(textureName); texture = ss.Item1; animations = ss.Item2; Animation = animations[0]; //texture = GfxManager.GetTexture(textureName); if (texture == null) { texture = GfxManager.GetSpritesheet(textureName).Item1; } sprite = new Sprite(Animation.FrameWidth > 0 ? Animation.FrameWidth : texture.Width, Animation.FrameHeight > 0 ? Animation.FrameHeight : texture.Height); //texture = GfxManager.GetTexture(textureName); sprite = new Sprite(spriteWidth > 0 ? spriteWidth : texture.Width, spriteHeight > 0 ? spriteHeight : texture.Height); sprite.pivot = new Vector2(sprite.Width / 2, sprite.Height / 2); sprite.position = spritePosition; layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); }
public GameObject(Vector2 spritePosition, string spritesheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground) { Tuple <Texture, List <Animation> > spritesheet = GfxManager.GetSpritesheet(spritesheetName); texture = spritesheet.Item1; Animations = spritesheet.Item2; Animation = Animations[0]; sprite = new Sprite(Animation.FrameWidth, Animation.FrameHeight) { position = spritePosition }; /*texture = GfxManager.GetTexture(textureName); * sprite = new Sprite(spriteWidth > 0 ? spriteWidth : texture.Width, spriteHeight > 0 ? spriteHeight : texture.Height) * { * position = spritePosition * };*/ layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); //Animation = new Animation((int)sprite.Width, (int)sprite.Height, cols, rows, fps, loop); }
public Enemy(Vector2 spritePosition, string textureName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) : base(spritePosition, textureName, drawLayer, spriteWidth, spriteHeight) { RigidBody.Type = (uint)PhysicsManager.ColliderType.Enemy; fsm = new StateMachine(this); PatrolingState ps = new PatrolingState(); ps.PatrolY = Position.Y; ps.MaxX = Game.PixelToUnit(Game.window.Width - 120); ps.MinX = Game.PixelToUnit(120); fsm.RegisterState((int)States.Patroling, ps); fsm.RegisterState((int)States.Chase, new ChaseState()); fsm.RegisterState((int)States.Attack, new AttackState()); fsm.RegisterState((int)States.Recharge, new RechargeState()); Agent = new Agent(this); fsm.Switch((int)States.Patroling); SightRadius = Game.PixelToUnit(300); AttackRadius = Game.PixelToUnit(150); HalfConeAngle = MathHelper.DegreesToRadians(30);//60 degrees cone VisiblePlayers = new List <Player>(); Nrg = 100; }
public Trap(Vector2 spritePosition, string spriteSheetName = "trapThorns", DrawManager.Layer layer = DrawManager.Layer.Middleground) : base(spritePosition, spriteSheetName, layer) { playerAnimDie = Player.State.DeathAngel; RigidBody = new RigidBody(spritePosition, this); RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Player); RigidBody.Type = (uint)PhysicsManager.ColliderType.Trap; //togliere se ci sono problemi con le spine }
public Ico(Vector2 spritePosition, string textureName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) : base(spritePosition, textureName, drawLayer, spriteWidth, spriteHeight) { RigidBody = new RigidBody(sprite.position, this); RigidBody.Type = (uint)PhysicsManager.ColliderType.PowerUp; RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Actor); //Weapons = new WeaponsGUI(); }
public TntCrate(Vector2 spritePosition, string spriteSheetName = "tntCrate", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { Animation.IsActive = false; brokenCrate = new ExplosionCrate(spritePosition - new Vector2(0, 12), "tntExplosion", "tntExplosion"); countdownStarted = false; clipCountdown = AudioManager.GetAudioClip("tntCountdown"); // minVelocityHitY = 35f; }
public UkaUka(Vector2 spritePosition, string spriteSheetName = "ukaUka", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { sprite.scale = new Vector2(2.5f); audioSource = new AudioSource(); clipGameOver = new AudioClip("Assets/Audio/gameOver.wav"); clipShow = new AudioClip("Assets/Audio/ukaUkaShowed.wav"); Show(); }
public Water(Vector2 spritePosition, string spriteSheetName = "underWater", DrawManager.Layer drawLayer = DrawManager.Layer.Foreground) : base(spritePosition, spriteSheetName, drawLayer) { sprite.SetMultiplyTint(ALPHA, ALPHA, ALPHA, ALPHA); RigidBody = new RigidBody(spritePosition, this); RigidBody.Type = (uint)PhysicsManager.ColliderType.Water; RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Player); splash = new WaterSplash(Vector2.Zero); }
public RedEnemyShip(EnemyType t, string spritesheetName = "redEnemy", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(t, spritesheetName, drawLayer) { this.Type = t; float horizontalSpeed = -RandomGenerator.GetRandom(250, 500); RigidBody.Velocity = new Vector2(horizontalSpeed, 0); sprite.scale = new Vector2(0.5f, 0.5f); }
public GameObject(Vector2 spritePosition, string textureName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) { texture = GfxManager.GetTexture(textureName); sprite = new Sprite(spriteWidth > 0 ? spriteWidth : texture.Width, spriteHeight > 0 ? spriteHeight : texture.Height); sprite.position = spritePosition; layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); }
public Pickable(Vector2 spritePosition, string spriteSheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Foreground) : base(spritePosition, spriteSheetName, drawLayer) { RigidBody = new RigidBody(spritePosition, this); RigidBody.Type = (uint)PhysicsManager.ColliderType.Pickable; RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Player); player = PlayScene.Player; clipOnHitted = AudioManager.GetAudioClip("wumpaHit"); initialPos = Position; }
public PowerUp(EnemyType t, string spritesheetName = "bonus", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(t, spritesheetName, drawLayer) { sprite.scale = new Vector2(0.15f, 0.15f); float horizontalSpeed = -RandomGenerator.GetRandom(400, 700); RigidBody.Velocity = new Vector2(horizontalSpeed, 0); RigidBody.Type = (uint)PhysicsManager.ColliderType.PowerUp; RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Player); }
public PlantEnemy(Vector2 spritePosition, string spriteSheetName = "plant", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { sprite.scale = new Vector2(1.2f, 1.5f); Rect collider = new Rect(new Vector2(-4, -15), RigidBody, Width / 2 + 4, Height - 20); Rect colliderAttack = new Rect(new Vector2(20, 0), RigidBody, Width / 2, Height / 3); RigidBody.SetBoundingBox(collider); Animation = animations[(int)AnimationType.Idle]; animations[(int)AnimationType.Alert].LoopAtFrame(2); }
public Apple(Vector2 spritePosition, string spriteSheetName = "apple", DrawManager.Layer drawLayer = DrawManager.Layer.Foreground) : base(spritePosition, spriteSheetName, drawLayer) { sprite.scale = new Vector2(1.3f, 1.3f); speed = new Vector2(650f); Type = PickableType.Apple; clipOnTarget = AudioManager.GetAudioClip("bleep"); ClipOnPicked = AudioManager.GetAudioClip("applePicked"); initialPos = spritePosition; }
public EnemyShip(string textureName = "enemy", DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) : base(Vector2.Zero, textureName, drawLayer, spriteWidth, spriteHeight) { sprite.FlipX = true; RigidBody = new RigidBody(sprite.position, this); RigidBody.Type = (uint)PhysicsManager.ColliderType.Enemy; Velocity = new Vector2(-260, 0); IsActive = false; cannonOffset = new Vector2(-Width / 2, 14); Nrg = 10; currentBulletType = BulletManager.BulletType.BigBlueLaser; }
public BottomEnemy(EnemyType t, string spritesheetName = "botEnemy", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(t, spritesheetName, drawLayer) { sprite.FlipX = true; this.Type = t; this.cannonOffset = new Vector2(0, Height / 3); float horizontalSpeed = -RandomGenerator.GetRandom(80, 220); RigidBody.Velocity = new Vector2(horizontalSpeed, 0); this.bullet = ShootType.DIAGONAL; }
public Crate(Vector2 spritePosition, string spriteSheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { RigidBody = new RigidBody(spritePosition, this); RigidBody.Type = (uint)PhysicsManager.ColliderType.Crate; RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Player | (uint)PhysicsManager.ColliderType.Ground | (uint)PhysicsManager.ColliderType.Crate); sprite.scale = new Vector2(1.35f, 1.35f); isHitted = false; bounceMultiplierY = 1.2f; minInpactToDetectYCollision = 0.1f; UseGroundableGravity = false; CanWalkable = true; initialPos = Position; }
public Actor(Vector2 spritePosition, string textureName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground, int spriteWidth = 0, int spriteHeight = 0) : base(spritePosition, textureName, drawLayer, spriteWidth, spriteHeight) { sprite.pivot = new Vector2(((float)Width) / 2, ((float)Height) / 2); MaxNrg = 100; shootSpeed = 100; Rotation = 1.57f; RigidBody = new RigidBody(sprite.position, this); RigidBody.SetCollisionMask((uint)PhysicsManager.ColliderType.Bullet); RigidBody.AddCollision((uint)PhysicsManager.ColliderType.PowerUp); bar = new Bar(new Vector2(Position.X - RigidBody.BoundingCircle.Ray, Position.Y - RigidBody.BoundingCircle.Ray), "loadingBar_bar", MaxNrg); bar.BarOffset = new Vector2(4, 4); bar.SetValue(Nrg); bar.IsActive = true; }
public GameObject( Vector2 spritePosition, string spritesheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground) { Tuple <Texture, Animation> ss = GfxManager.GetSpritesheet(spritesheetName); texture = ss.Item1; Animation = ss.Item2; sprite = new Sprite(Animation.FrameWidth, Animation.FrameHeight); sprite.position = spritePosition; layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); }
public Rect(Vector2 offset, RigidBody owner, float width, float height) { relativePosition = offset; RigidBody = owner; HalfWidth = width / 2; HalfHeight = height / 2; if (Debug) { IsActive = true; rectCollider = new Sprite(width, height); texture = GfxManager.GetSpritesheet("rectangle").Item1; Layer = DrawManager.Layer.Foreground; DrawManager.AddItem(this); UpdateManager.AddItem(this); } }
public GameObject( Vector2 spritePosition, string spriteSheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground) { Tuple <Texture, List <Animation> > ss = GfxManager.GetSpritesheet(spriteSheetName); texture = ss.Item1; animations = ss.Item2; Animation = animations[0]; sprite = new Sprite(Game.PixelsToUnit(Animation.FrameWidth), Game.PixelsToUnit(Animation.FrameHeight)); sprite.position = spritePosition; sprite.pivot = new Vector2(Width / 2, Height / 2); layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); }
public EnemyShip(EnemyType t, string spritesheetName = "enemy", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(Vector2.Zero, spritesheetName, drawLayer) { this.Type = t; sprite.FlipX = true; sprite.scale = new Vector2(0.3f, 0.3f); Velocity = new Vector2(-200, 0); IsActive = false; cannonOffset = new Vector2(-Width / 2, 0); RigidBody = new RigidBody(sprite.position, this); float horizontalSpeed = -RandomGenerator.GetRandom(200, 350); RigidBody.Velocity = new Vector2(horizontalSpeed, 0); RigidBody.Type = (uint)PhysicsManager.ColliderType.Enemy; RigidBody.AddCollisionMask((uint)PhysicsManager.ColliderType.Player); MaxNrg = 1; Nrg = MaxNrg; }
public AkuAku(Vector2 spritePosition, Player owner, DrawManager.Layer drawLayer = DrawManager.Layer.Foreground) : base(spritePosition, "akuFirstLevel", drawLayer) { sprite.scale = new Vector2(0.9f, 0.9f); IsActive = false; CreateTextures(); currLevel = Level.FIRST; this.owner = owner; clipOnPicked = AudioManager.GetAudioClip("akuAkuPicked"); clipLevelDown = AudioManager.GetAudioClip("akuLevelDown"); AkuAkuState.Player = owner; AkuAkuState.Offset = new Vector2(-30f, -20f); machine = new StateMachine(this); machine.RegisterState((int)AkuState.Idle, new IdleAkuAkuState()); machine.RegisterState((int)AkuState.Follow, new FollowAkuAkuState()); machine.RegisterState((int)AkuState.Attack, new AttackAkuAkuState()); machine.Switch((int)AkuState.Idle); }
public GameObject( Vector2 spritePosition, string spriteSheetName, DrawManager.Layer drawLayer = DrawManager.Layer.Playground) { Tuple <Texture, List <Animation> > ss = GfxManager.GetSpritesheet(spriteSheetName); texture = ss.Item1; animations = ss.Item2; Animation = animations[0]; sprite = new Sprite(Animation.FrameWidth, Animation.FrameHeight); //texture = GfxManager.GetTexture(textureName); //sprite = new Sprite(spriteWidth>0 ? spriteWidth : texture.Width, spriteHeight>0 ? spriteHeight : texture.Height); sprite.position = spritePosition; sprite.pivot = new Vector2(Width / 2, Height / 2); //Animation = new Animation((int)sprite.Width, (int)sprite.Height, cols, rows, fps, loop); layer = drawLayer; IsActive = true; UpdateManager.AddItem(this); DrawManager.AddItem(this); GameManager.Destoyables.Add(this); }
private static void CreateTileLayer(XmlNode nodeData, ref List <string> tileNames, int tileWidth, int tileHeight, int cols, int typeCreation = 0, DrawManager.Layer layer = DrawManager.Layer.Playground) { string mapData = nodeData.InnerText; string[] mapIndexes = mapData.Split(','); for (int i = 0; i <= mapIndexes.Length - 1; i++) { int index = int.Parse(mapIndexes[i]); if (index > 0) { string tileName = tileNames[--index]; Vector2 pos = new Vector2( tileWidth * (i % cols) + tileWidth / 2, tileHeight * (i / cols) + tileHeight / 2); if (typeCreation == 0) { new Ground(pos, tileName, (index == 4 || index == 50) ? false : true); } else { new Ground(pos, tileName, false); } } } }
private static void CreateObjectsLayers(XmlNodeList objectNodes, ref List <string> tileNames, DrawManager.Layer layer) { for (int i = 0; i < objectNodes.Count; i++) { XmlNode objectNode = objectNodes[i]; string xString = objectNode.Attributes["x"].Value; float xPos = float.Parse(xString, System.Globalization.CultureInfo.InvariantCulture); string yString = objectNode.Attributes["y"].Value; float yPos = float.Parse(yString, System.Globalization.CultureInfo.InvariantCulture); Vector2 pos = new Vector2(xPos + (int.Parse(objectNode.Attributes["width"].Value) / 2), yPos - (int.Parse(objectNode.Attributes["height"].Value) / 2)); int globalIdCrate = int.Parse(objectNode.Attributes["gid"].Value) - 1; GameObject g = new GameObject(pos, tileNames[globalIdCrate]); if (objectNode.HasChildNodes) { g.GetSprite().FlipX = bool.Parse(objectNode.FirstChild.FirstChild.Attributes["value"].Value); } } }
public AppleCrate(Vector2 spritePosition, string spriteSheetName = "appleCrate", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { }
public BlowGunManEnemy(Vector2 spritePosition, string spriteSheetName = "blowGunMan", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { sprite.scale = new Vector2(1.3f, 1.1f); Machine = new StateMachine(this); Machine.RegisterState((int)State.Patrol, new BlowGunManPatrolState()); Machine.RegisterState((int)State.Alert, new BlowGunManAlertState()); Machine.RegisterState((int)State.Attack, new BlowGunManAttackState()); Machine.Switch((int)State.Patrol); standUpShootOffset = new Vector2(Width / 2, -Height / 5); crouchShootOffset = new Vector2(Width / 2, 6f); //o 5 al posto di 6 SightRadius = 450f; halfConeAngle = MathHelper.DegreesToRadians(15); colliderStandUp = new Rect(new Vector2(0, 0), RigidBody, Width / 2, Height - 5); colliderCrouch = new Rect(new Vector2(0, 10), RigidBody, Width / 2, Height - 25); RigidBody.SetBoundingBox(colliderStandUp); colliderCrouch.IsActive = false; IsCrouched = false; useMultiplyRay = true; rayOffset = new Vector2(0, -Height / 2.5f); ignoreMaskRaySight.Add(PhysicsManager.ColliderType.Trap); clipShoot = AudioManager.GetAudioClip("blowGun"); }
public WaterSplash(Vector2 spritePosition, string spriteSheetName = "waterSplash", DrawManager.Layer drawLayer = DrawManager.Layer.Foreground) : base(spritePosition, spriteSheetName, drawLayer) { clipSplash = AudioManager.GetAudioClip("waterSplash"); IsActive = false; }
public TriggerNitroCrate(Vector2 spritePosition, string spriteSheetName = "triggerNitro", DrawManager.Layer drawLayer = DrawManager.Layer.Playground) : base(spritePosition, spriteSheetName, drawLayer) { Animation.LoopAtFrame(9); Animation.IsActive = false; nitroToExplode = new List <NitroCrate>(); Rect rect = new Rect(new Vector2(-2, 22), RigidBody, Width - 16, Height / 2 - 5); RigidBody.SetBoundingBox(rect); clipOnHit = AudioManager.GetAudioClip("crateTriggerHit"); UseGroundableGravity = false; }