Example #1
0
		public PlayerFaction(string factionName) : base()
		{
			this.name = factionName;
			relationships = new Dictionary<Faction, Relationship>();
			_resources = new ResourceContainer();

			resources.Add(ResourceType.Gold, 100d);
			resources.Add(ResourceType.Food, 50d);
		}
Example #2
0
		public ResourceContainer ReceiveLootStrike(BaseUnit attacker)
		{
			var takenLoot = new ResourceContainer();

			Log.Steb("Getting a lootstrike " + _buildInstructions.unitName);

			foreach (ResourceType lootType in Enum.GetValues(typeof(ResourceType)))
			{
				var takenAmount = resourceContainer.Subtract(lootType, 30d);

				Log.Steb("Took " + takenAmount + " of type " + lootType.ToString());

				takenLoot.Add(lootType, takenAmount);
			}

			return takenLoot;
		}
Example #3
0
		public void AttackUnit(BaseUnit target)
		{
			if (target.IsAlive())
				target.ReceiveAttack(this);
			else
				resourceContainer += target.ReceiveLootStrike(this);


			_timeSincePreviousAttack = 0f;
		}
Example #4
0
		public static ResourceContainer operator -(ResourceContainer a)
		{
			var newContainer = new ResourceContainer();

			for (var i = 0; i < a.resourceList.Count; i++)
			{
				newContainer.Subtract(a.resourceList[i].type, a.resourceList[i].amount);
			}

			return newContainer;
		}
Example #5
0
		public static ResourceContainer operator +(ResourceContainer a, ResourceContainer b)
		{
			var newContainer = new ResourceContainer();

			for (var i = 0; i < a.resourceList.Count; i++)
			{
				newContainer.Add(a.resourceList[i].type, a.resourceList[i].amount);
			}

			for (var i = 0; i < b.resourceList.Count; i++)
			{
				newContainer.Add(b.resourceList[i].type, b.resourceList[i].amount);
			}

			return newContainer;
		}
Example #6
0
		protected Faction()
		{
			this.name = "Default Name";
			relationships = new Dictionary<Faction, Relationship>();
			_resources = new ResourceContainer();
		}
Example #7
0
		public Faction(string factionName)
		{
			this.name = factionName;
			relationships = new Dictionary<Faction, Relationship>();
			_resources = new ResourceContainer();
		}