Beispiel #1
0
	public override ActionResult actionTick (Person person)
	{
		if (Map.CurrentMap.getObject(person.currentMapPos) is Building)
		{
			Building CurrentBuilding = (Building)Map.CurrentMap.getObject(person.currentMapPos);
			
			if (CurrentBuilding.m_buildingtype == BuildingType.Storage
			    && CurrentBuilding.teamID == person.teamID)
			{
				person.SetBusy(1);
				foreach (var item in person.Resources)
				{
					//UnityEngine.Debug.Log(item.Key + ": " + item.Value);
					Map.CurrentMap.GetTeamData(person.teamID).Resources[item.Key] += item.Value;
				}
				person.ResetResources();
				return ActionResult.SUCCESS;
			}
		}
		Building nearestStorage = Map.CurrentMap.GetTeamData(person.teamID).GetNearestBuilding (person.currentMapPos, BuildingType.Storage);
		if (nearestStorage == null) {
			return ActionResult.FAIL;
		}
		person.ToDoList.Insert (0, new Move (person.currentMapPos, nearestStorage.m_MapPos));
		return ActionResult.CONTINUE;
	}