/// <summary> /// Requirements used for an Activity /// </summary> /// <returns>List of Requirements needed for a particular activity.</returns> internal static List<RamTypeRequirements> TypeRequirements() { var list = new List<RamTypeRequirements>(); foreach (ramTypeRequirements requirement in Context.ramTypeRequirements) { var item = new RamTypeRequirements { TypeID = requirement.typeID, ActivityID = requirement.activityID, RequiredTypeID = requirement.requiredTypeID }; if (requirement.quantity.HasValue) item.Quantity = requirement.quantity.Value; if (requirement.damagePerJob.HasValue) item.DamagePerJob = requirement.damagePerJob.Value; if (requirement.recycle.HasValue) item.Recyclable = requirement.recycle.Value; list.Add(item); } return list; }
/// <summary> /// Add the prerequisite skills for a material used in invention activity. /// </summary> private static void MaterialPrereqSkill(RamTypeRequirements requirement, List<SerializablePrereqSkill> prerequisiteSkills) { var prereqSkills = new int[DBConstants.RequiredSkillPropertyIDs.Length]; var prereqLevels = new int[DBConstants.RequiredSkillPropertyIDs.Length]; foreach (DgmTypeAttribute attribute in s_typeAttributes .Where(x => x.ItemID == requirement.RequiredTypeID)) { int attributeIntValue = (attribute.ValueInt.HasValue ? attribute.ValueInt.Value : (int)attribute.ValueFloat.Value); // Is it a prereq skill ? int prereqIndex = Array.IndexOf(DBConstants.RequiredSkillPropertyIDs, attribute.AttributeID); if (prereqIndex >= 0) { prereqSkills[prereqIndex] = attributeIntValue; continue; } // Is it a prereq level ? prereqIndex = Array.IndexOf(DBConstants.RequiredSkillLevelPropertyIDs, attribute.AttributeID); if (prereqIndex >= 0) { prereqLevels[prereqIndex] = attributeIntValue; continue; } } // Add the prerequisite skills for (int i = 0; i < prereqSkills.Length; i++) { if (prereqSkills[i] != 0) prerequisiteSkills.Add(new SerializablePrereqSkill { ID = prereqSkills[i], Level = prereqLevels[i], Activity = requirement.ActivityID }); } }
/// <summary> /// Ram Type Requirements. /// </summary> /// <returns>List of Requirements needed for a particular activity.</returns> /// <remarks>Used for an Activity</remarks> private static List<RamTypeRequirements> TypeRequirements() { List<RamTypeRequirements> list = new List<RamTypeRequirements>(); foreach (ramTypeRequirements requirement in s_context.ramTypeRequirements) { RamTypeRequirements item = new RamTypeRequirements { ID = requirement.typeID, ActivityID = requirement.activityID, RequiredTypeID = requirement.requiredTypeID }; if (requirement.quantity.HasValue) item.Quantity = requirement.quantity.Value; if (requirement.level.HasValue) item.Level = requirement.level.Value; if (requirement.damagePerJob.HasValue) item.DamagePerJob = requirement.damagePerJob.Value; if (requirement.recycle.HasValue) item.Recyclable = requirement.recycle.Value; if (requirement.raceID.HasValue) item.RaceID = requirement.raceID.Value; if (requirement.probability.HasValue) item.Probability = requirement.probability.Value; if (requirement.consume.HasValue) item.Consume = requirement.consume.Value; list.Add(item); } return list; }