示例#1
0
        /// <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;
        }
示例#2
0
        /// <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
                                               });
            }
        }
示例#3
0
        /// <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;
        }