Пример #1
0
		public RegenUnit( Crossroad spawn, Vector2 offset, Vector2 movement, float speed, int tier, Texture2D textureLiving, Texture2D textureDead, int value, int maxHP )
			: base( spawn, offset, movement, speed, tier, textureLiving, textureDead, value, maxHP ) {
			mTint = Color.Green;
			mRegenAmount = (int)( mMaxHealth * 0.1f );
			mSpeed = mDSpeed;
			mMoney = value;
		}
Пример #2
0
		public StrongUnit( Crossroad spawn, Vector2 offset, Vector2 movement, float speed, int tier, Texture2D textureLiving, Texture2D textureDead, int value, int maxHP )
			: base( spawn, offset, movement, speed, tier, textureLiving, textureDead, value, maxHP ) {
			mTint = Color.CornflowerBlue;
			DSpeed *= 0.7f;
			mSpeed = DSpeed;
			mMoney = value;
			mMaxHealth *= 2;
			mHealth = mMaxHealth;
		}
Пример #3
0
		public UnitWave( EUnitType unitType, Crossroad spawn, int numUnits, int tileSize, float interval ) {
			mThisWave = DefenderWorld.Instance.Status.Wave;
			mSpawningPoint = spawn;
			mTile = tileSize;
			mUnitType = unitType;
			mToCreate = numUnits;
			mInterval = interval;

			Initialize();
		}
Пример #4
0
		public FlyingUnit( Crossroad spawn, Vector2 offset, Vector2 movement, float speed, int tier, Texture2D textureLiving, Texture2D textureDead, int value, int maxHP, World world )
			: base( spawn, offset, movement, speed, tier, textureLiving, textureDead, value, maxHP ) {
			mTint = Color.Yellow;
			mDSpeed *= 1.5f;
			mSpeed = mDSpeed;
			mMoney = 2;

			mDestination = world.Spawns[ 0 ];

			movement = new Vector2( 0, 0 );

			Vector2 toMove;
			float divisor;
			toMove = mDestination.Position - mPosition;
			divisor = Math.Max( Math.Abs( toMove.X ), Math.Abs( toMove.Y ) );
			movement = ( toMove / divisor );
			tier = mDestination.Tier;
		}
Пример #5
0
		public virtual void CreateBoss( Crossroad Spawn, Texture2D texUnit, Texture2D texUnitDead ) {
			int hp = mThisWave * 1000;
			int value = mThisWave * 2;
			if( mThisWave >= 50 )
				hp *= ( mThisWave / 25 );
			UnitBoss b = new UnitBoss( Spawn, Vector2.Zero, Vector2.Zero, 0.5f, 1, texUnit, texUnitDead, value, hp );
			mUnits.Add( b );

			DefenderWorld.Instance.Status.Created++;
		}
Пример #6
0
		public UnitTypeWave( EUnitType unitType, Crossroad spawn, int numUnits, int tileSize, float interval )
			: base( unitType, spawn, numUnits, tileSize, interval ) {
		}
Пример #7
0
		private void SetupMap(Texture2D texColorKey) {
			mMap = new DefenderMap(texColorKey);
			#region TowerDefence Final Version Map
			Crossroad x1 = new Crossroad(0, 0);
			Crossroad x2 = new Crossroad(200, 200);
			Crossroad x3 = new Crossroad(520, 280);
			Crossroad x4 = new Crossroad(540, 80);
			Crossroad x5 = new Crossroad(960, 40);
			Crossroad x6 = new Crossroad(1000, 200);
			Crossroad x7 = new Crossroad(900, 300);
			Crossroad x8 = new Crossroad(860, 520);
			Crossroad x9 = new Crossroad(1200, 620);
			Crossroad x10 = new Crossroad(1400, 500);
			Crossroad x11 = new Crossroad(1720, 320);
			Crossroad x12 = new Crossroad(1880, 380);
			Crossroad x13 = new Crossroad(1940, 520);
			Crossroad x14 = new Crossroad(1780, 600);
			Crossroad x15 = new Crossroad(1580, 780);
			Crossroad x16 = new Crossroad(1800, 880);
			Crossroad x17 = new Crossroad(1880, 1160);
			Crossroad x18 = new Crossroad(1600, 1200);
			Crossroad x19 = new Crossroad(1740, 1420);
			Crossroad x20 = new Crossroad(1460, 1560);
			Crossroad x21 = new Crossroad(1180, 1560);
			Crossroad x22 = new Crossroad(1000, 1800);
			Crossroad x23 = new Crossroad(720, 1940);
			Crossroad x24 = new Crossroad(600, 1760);
			Crossroad x25 = new Crossroad(720, 1580);
			Crossroad x26 = new Crossroad(600, 1400);
			Crossroad x27 = new Crossroad(420, 1560);
			Crossroad x28 = new Crossroad(340, 1660);
			Crossroad x29 = new Crossroad(80, 1560);
			Crossroad x30 = new Crossroad(200, 1280);
			Crossroad x31 = new Crossroad(400, 1220);
			Crossroad x32 = new Crossroad(360, 840);
			Crossroad x33 = new Crossroad(60, 780);
			Crossroad x34 = new Crossroad(280, 460);
			Crossroad end = new Crossroad(1800, 1800);

			Crossroads = new CrossroadList(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, end);
			Spawns = new CrossroadList(x1);

			#region connections
			x1.Connections.Add(x2);
			x2.Connections.Add(x3);
			x2.Connections.Add(x34);
			x3.Connections.Add(x4);
			x4.Connections.Add(x5);
			x5.Connections.Add(x6);
			x6.Connections.Add(x7);
			x7.Connections.Add(x8);
			x8.Connections.Add(x9);
			x9.Connections.Add(x10);
			x10.Connections.Add(x11);
			x11.Connections.Add(x12);
			x12.Connections.Add(x13);
			x13.Connections.Add(x14);
			x14.Connections.Add(x15);
			x15.Connections.Add(x16);
			x16.Connections.Add(x17);
			x17.Connections.Add(x18);
			x18.Connections.Add(x19);
			x19.Connections.Add(x20);
			x20.Connections.Add(end);
			x34.Connections.Add(x33);
			x33.Connections.Add(x32);
			x32.Connections.Add(x31);
			x31.Connections.Add(x30);
			x30.Connections.Add(x29);
			x29.Connections.Add(x28);
			x28.Connections.Add(x27);
			x27.Connections.Add(x26);
			x26.Connections.Add(x25);
			x25.Connections.Add(x24);
			x24.Connections.Add(x23);
			x23.Connections.Add(x22);
			x22.Connections.Add(x21);
			x21.Connections.Add(x20);
			#endregion
			#endregion

			// Debug cross road structure
			//System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(CrossroadList));
			//xml.Serialize(System.IO.File.OpenWrite("crossroads.xml"), Crossroads);

			Paths = new Paths(Spawns.PathCount + Crossroads.PathCount);
			Paths.CalculatePaths(Crossroads);
			Paths.CalculatePaths(Spawns);

			MapBaseArea = new Rectangle(end.X - 30 + TileSize / 2, end.Y - 30 + TileSize / 2, 60, 60);
		}