public EntityNPCBase(XElement entityNPCBaseElement) : base(entityNPCBaseElement) { Name = entityNPCBaseElement.Element("name").Value; Faction = (FACTION)Enum.Parse(typeof(FACTION), entityNPCBaseElement.Element("faction").Value); // keywords foreach (XElement keywordElement in entityNPCBaseElement.Element("keywords").Elements("keyword")) { Keywords.Add(keywordElement.Value); } // behavior var behaviorNode = entityNPCBaseElement.Element("behavior"); if (behaviorNode != null) { foreach (XElement behaviorActionElement in behaviorNode.Elements()) { ACTION_ENUM action = ParsedInput.StringToAction[behaviorActionElement.Name.LocalName]; int percentage = int.Parse(behaviorActionElement.Value); Behavior.PossibleActions.Add(new EntityBehaviorAction(action, percentage)); } } }
public EntityBehaviorAction(ACTION_ENUM action, int percentageChance) { Action = action; PercentageChance = percentageChance; }