public TaskMetaData(string Name, LocationPrerequisite LocationPrereque, StaminaPrerequisite StaminaPrerequisite = null, ToolPrerequisite ToolPrerequisite = null, InventoryFullPrerequisite InventoryFull = null, BedTimePrerequisite bedTimePrereq = null, ItemPrerequisite ItemPrereque = null) { this.name = Name; this.staminaPrerequisite = StaminaPrerequisite; this.toolPrerequisite = ToolPrerequisite; this.inventoryPrerequisite = InventoryFull; this.pathsToTake = new List <List <TileNode> >(); this.bedTimePrerequisite = bedTimePrereq; this.itemPrerequisite = ItemPrereque; this.locationPrerequisite = LocationPrereque; //Make sure to set values correctly incase of null setUpLocationPrerequsiteIfNull(); setUpStaminaPrerequisiteIfNull(); setUpToolPrerequisiteIfNull(); setUpInventoryPrerequisiteIfNull(); setUpBedTimeIfNull(); setUpItemPrerequisiteIfNull(); this.prerequisitesList = new List <TaskPrerequisites.GenericPrerequisite>(); this.prerequisitesList.Add(this.staminaPrerequisite); this.prerequisitesList.Add(this.toolPrerequisite); this.prerequisitesList.Add(this.inventoryPrerequisite); this.prerequisitesList.Add(this.bedTimePrerequisite); this.prerequisitesList.Add(this.itemPrerequisite); }
private void setUpToolPrerequisiteIfNull() { if (this.toolPrerequisite == null) { this.toolPrerequisite = new TaskPrerequisites.ToolPrerequisite(false, null, 0); } }
/// <summary> /// Used to calculate the weight of using a tool to add to the overall cost of a TaskMetaData cost. /// </summary> /// <param name="t"></param> /// <param name="numberOfTimesToolIsUsed"></param> /// <returns></returns> public static int calculateToolCostMultiplier(TaskPrerequisites.ToolPrerequisite t) { if (t.requiresTool == false || t.requiredTool == null) { return(0); //Default tool not used. } return(parseToolCostMultiplier(t) * t.estimatedNumberOfUses); }
/// <summary> /// Used to assign a weight to using a tool a single time. /// </summary> /// <param name="t"></param> /// <returns></returns> public static int parseToolCostMultiplier(TaskPrerequisites.ToolPrerequisite t) { Type tool = t.requiredTool; int value = 2; bool f = toolCostDictionary.TryGetValue(tool, out value); if (f == true) { return(value); } else { return(2); } }
public TaskMetaData(string Name, TaskPrerequisites.StaminaPrerequisite StaminaPrerequisite = null, TaskPrerequisites.ToolPrerequisite ToolPrerequisite = null, TaskPrerequisites.InventoryFullPrerequisite InventoryFull = null, TaskPrerequisites.BedTimePrerequisite bedTimePrereq = null) { this.name = Name; this.staminaPrerequisite = StaminaPrerequisite; this.toolPrerequisite = ToolPrerequisite; this.inventoryPrerequisite = InventoryFull; this.bedTimePrerequisite = bedTimePrereq; //Make sure to set values correctly incase of null setUpStaminaPrerequisiteIfNull(); setUpToolPrerequisiteIfNull(); setUpInventoryPrerequisiteIfNull(); setUpBedTimeIfNull(); this.prerequisitesList = new List <TaskPrerequisites.GenericPrerequisite>(); this.prerequisitesList.Add(this.staminaPrerequisite); this.prerequisitesList.Add(this.toolPrerequisite); this.prerequisitesList.Add(this.inventoryPrerequisite); this.prerequisitesList.Add(this.bedTimePrerequisite); }
public TaskMetaData(string Name, float Priority, float Cost, float Utility, float Frequency, TaskPrerequisites.StaminaPrerequisite StaminaPrerequisite = null, TaskPrerequisites.ToolPrerequisite ToolPrerequisite = null, TaskPrerequisites.InventoryFullPrerequisite InventoryFull = null, TaskPrerequisites.BedTimePrerequisite BedTimePrereq = null) { this.name = Name; this.priority = Priority; this.cost = Cost; this.utility = Utility; this.frequency = Frequency; this.staminaPrerequisite = StaminaPrerequisite; this.toolPrerequisite = ToolPrerequisite; this.inventoryPrerequisite = InventoryFull; this.bedTimePrerequisite = BedTimePrereq; //Make sure to set values correctly incase of null setUpStaminaPrerequisiteIfNull(); setUpToolPrerequisiteIfNull(); setUpInventoryPrerequisiteIfNull(); setUpBedTimeIfNull(); this.prerequisitesList = new List <TaskPrerequisites.GenericPrerequisite>(); this.prerequisitesList.Add(this.staminaPrerequisite); this.prerequisitesList.Add(this.toolPrerequisite); this.prerequisitesList.Add(this.inventoryPrerequisite); this.prerequisitesList.Add(this.bedTimePrerequisite); }